De las dos formas deberia poderse...
Este codigo no esta probado...Los tipos de datos no representan la realidad
Código Delphi
[-]
Var
valor_retorno_1, valor_retorno_2:Integer;
begin
adoQuery.Close;
adoQuery.SQL.Clear;
adoQuery.SQL.Text:='SELECT VAR_1, VAR_2 FROM TU_PROCEDURE(:Param1, :Param2');
adoQuery.ParamByName('PARAM1').AsString:='Valor_Parametro_1';
adoQuery.ParamByName('PARAM2').AsString:='Valor_Parametro_2';
adoQuery.Open;
valor_retorno_1:=adoQuery.FieldByName('VAR_1').AsInteger;
valor_retorno_2:=adoQuery.FieldByName('VAR_2').AsInteger;
adoQuery.Close;
end;