Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Migrar Delphi 2007 a 10.1 Berlin

Hola a todos

No tengo mucha experiencia en Delphi, pero me han encargado migrar una aplicación que está en Delphi 2007 a la última versión 10.1 Berlin. ¿Alguien podría decirme si existe alguna utilidad o herramienta que facilite dicha migración? Por el momento he intentado realizarla de manera artesanal, pero me encuentro con un montón de errores, algunos de ellos no sé muy bien por qué se producen.

Muchas gracias por adelantado por vuestra ayuda.

Un saludo
Responder Con Cita
  #2  
Antiguo 07-11-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No debería dar ningún error, si tienes instalado los componentes que se utilizan.
Responder Con Cita
  #3  
Antiguo 07-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No debería dar ningún error, si tienes instalado los componentes que se utilizan.
Coincido con Casimiro.
Lo primero es que instales todos los componentes externos que tienes en la versión 2007 en la nueva.

A partir de ahí es posible que sí salga algún error, pero hay que tratarlos de forma específica.
Por ejemplo, es posible que algún componente haya cambiado en sus propiedades o métodos (me refiero a los externos).
Es posible que alguna función de Delphi haya quedado obsoleta, deberás cambiarlas por las nuevas.

Cita:
Empezado por giko Ver Mensaje
¿Alguien podría decirme si existe alguna utilidad o herramienta que facilite dicha migración?
Por el momento he intentado realizarla de manera artesanal, pero me encuentro con un montón de errores, algunos de ellos no sé muy bien por qué se producen.
El propio delphi hace el trabajo que necesitas (o todo el que se puede hacer). No necesitas ninguna utilidad externa.
Deberías ir colocando el texto de los errores y te podemos indicar a qué se refieren o cómo solucionarlos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 07-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Coincido con Casimiro.
Lo primero es que instales todos los componentes externos que tienes en la versión 2007 en la nueva.

A partir de ahí es posible que sí salga algún error, pero hay que tratarlos de forma específica.
Por ejemplo, es posible que algún componente haya cambiado en sus propiedades o métodos (me refiero a los externos).
Es posible que alguna función de Delphi haya quedado obsoleta, deberás cambiarlas por las nuevas.



El propio delphi hace el trabajo que necesitas (o todo el que se puede hacer). No necesitas ninguna utilidad externa.
Deberías ir colocando el texto de los errores y te podemos indicar a qué se refieren o cómo solucionarlos.

Muchas gracias por vuestras respuestas.
En principio tengo instalado lo mismo que tenía en la aplicación de 2007, Delphi y Report Builder. De hecho, el proyecto que estoy tratando de compilar contiene unos componentes desarrollados internamente, que los utiliza la aplicación que tendré que migrar.

Adjunto un detalle de los errores que tengo:

c:\program files (x86)\embarcadero\studio\18.0\bin\dcc32.exe -$J+ -$D1 --no-config -M -Q -Z -TX.bpl -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinType s=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -I"c:\program files (x86)\embarcadero\studio\18.0\lib\Win32\release";C:\Users\Cibernos\Documents\Embarcadero\Studio\18.0 \Imports;"c:\program files (x86)\embarcadero\studio\18.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp;"c:\pro gram files (x86)\embarcadero\studio\18.0\include";"c:\program files (x86)\embarcadero\studio\18.0\RBuilder\Lib\Win32" -LEC:\Users\Public\Documents\Embarcadero\Studio\18.0\Bpl -LNC:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp -NSData.Win;Web.Win;Soap.Win;Xml.Win;Bde;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;D ata;Datasnap;Web;Soap;Winapi;Datasnap.Win;System.Win; -O"c:\program files (x86)\embarcadero\studio\18.0\lib\Win32\release";C:\Users\Cibernos\Documents\Embarcadero\Studio\18.0 \Imports;"c:\program files (x86)\embarcadero\studio\18.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp;"c:\pro gram files (x86)\embarcadero\studio\18.0\include";"c:\program files (x86)\embarcadero\studio\18.0\RBuilder\Lib\Win32" -R"c:\program files (x86)\embarcadero\studio\18.0\lib\Win32\release";C:\Users\Cibernos\Documents\Embarcadero\Studio\18.0 \Imports;"c:\program files (x86)\embarcadero\studio\18.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp;"c:\pro gram files (x86)\embarcadero\studio\18.0\include";"c:\program files (x86)\embarcadero\studio\18.0\RBuilder\Lib\Win32" -U"c:\program files (x86)\embarcadero\studio\18.0\lib\Win32\release";C:\Users\Cibernos\Documents\Embarcadero\Studio\18.0 \Imports;"c:\program files (x86)\embarcadero\studio\18.0\Imports";C:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp;"c:\pro gram files (x86)\embarcadero\studio\18.0\include";"c:\program files (x86)\embarcadero\studio\18.0\RBuilder\Lib\Win32" -K00400000 --description:"Citi Editors" -NBC:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp -NHC:\Users\Public\Documents\Embarcadero\Studio\18.0\hpp\Win32 CitiEditors.dpk
...\CitiEditors\CitiPatterns.pas(8,29): warning W1050: W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
...\CitiEditors\CitiPatterns.pas(109,57): warning W1050: W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
...\CitiEditors\CitiPatterns.pas(193,26): error E2010: E2010 Incompatible types: 'AnsiChar' and 'Char'
...\CitiEditors\CitiPatterns.pas(218,19): error E2003: E2003 Undeclared identifier: 'DateSeparator'
...\CitiEditors\CitiPatterns.pas(218,64): error E2010: E2010 Incompatible types: 'string' and 'Integer'
...\CitiEditors\CitiPatterns.pas(232,23): error E2003: E2003 Undeclared identifier: 'TimeSeparator'
...\CitiEditors\CitiPatterns.pas(232,37): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString'
...\CitiEditors\CitiPatterns.pas(235,30): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString'
...\CitiEditors\CitiPatterns.pas(238,36): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString'
...\CitiEditors\CitiPatterns.pas(261,11): error E2003: E2003 Undeclared identifier: 'DecimalSeparator'
...\CitiEditors\CitiPatterns.pas(319,42): warning W1050: W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
...\CitiEditors\CitiPatterns.pas(381,48): warning W1050: W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
...\CitiEditors\CitiPatterns.pas(401,30): error E2010: E2010 Incompatible types: 'AnsiChar' and 'Char'
...\CitiEditors\CitiPatterns.pas(403,29): error E2010: E2010 Incompatible types: 'AnsiChar' and 'Char'
...\CitiEditors\CitiEdit.pas(7,35): error F2063: F2063 Could not compile used unit 'CitiPatterns.pas'
Responder Con Cita
  #5  
Antiguo 07-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Parece que la primera unit que te está dando problemas es esta: ...\CitiEditors\CitiPatterns.pas

¿A qué componente o paquete pertenece? No es estandard de Delphi.
¿Los has instalado correctamente?
¿Al instalarlos no te han dado problemas?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 07-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Hola

Efectivamente, no es un paquete standard. El módulo CitiPatterns.pas es el que estoy intentando compilar (el proyecto contiene otros módulos, pero parece que sólo éste genera errores y advertencias). Una vez compilado, debo proceder a instalarlo. Adjunto el código, por si aporta algo de información.

Muchas gracias.
Código Delphi [-]
unit CitiPatterns;

interface

uses Windows, SysUtils;

type
  TCitiCharSet = set of Char;
  TCitiValidateState = (vsOk, vsIncomplete, vsError);
  TCitiDateKind = (dkDate, dkDateTime, dkTime);

  EPatternException = class(Exception);

  TCitiPattern = class
  private
    FExpression: string;
    function GetCharSet: TCitiCharSet;
    procedure SetExpression(const Value: string);
  protected
    FPattern, FControl: string;
    FPatternPrefix, FControlPrefix: string;
    FCharSet, FCharSetPrefix: TCitiCharSet;
    procedure SetRegularExpr(RE: string);
  public
    // Construction
    constructor Create;
    // Pattern matching
    function Match(const Data: string; var Tail: string; var Jump: Boolean): TCitiValidateState;
    // Pattern configuration
    procedure SetDateTimePattern(AKind: TCitiDateKind; ATwoDigitYear, AReqSeconds: Boolean);
    procedure SetFloatPattern(ADigits, ADecimals: Integer; Neg, Dot: Boolean);
    procedure SetIntegerPattern(AMin, AMax: Integer);
    procedure SetPrefix(const PatPref, CtlPref: string; const CSet: TCitiCharSet);
  public
    property CharSet: TCitiCharSet read GetCharSet;
    property Expression: string read FExpression write SetExpression;
  end;

procedure PatternException(const Msg: string);

resourcestring
  SInvalidPattern = 'Invalid pattern';

implementation

var
  AlphaChars: TCitiCharSet = [];
  AlphaNums: TCitiCharSet = [];

// Exceptions

procedure PatternException(const Msg: string);
begin
  raise EPatternException.Create(Msg);
end;

// TCitiPattern: construction

constructor TCitiPattern.Create;
begin
  inherited Create;
  FCharSet := [#0..#255];
end;

// TCitiPattern: access methods for properties

function TCitiPattern.GetCharSet: TCitiCharSet;
begin
  Result := FCharSet + FCharSetPrefix;
end;

procedure TCitiPattern.SetExpression(const Value: string);
begin
  if Value <> FExpression then
  begin
    SetRegularExpr(Value);
    FExpression := Value;
  end;
end;

// TCitiPattern: parsing expressions into pattern programs

function ProcessGroups(const S: string): string;
var
  Stack: array [1..100] of string;
  Temp: string;
  Top: Integer;
  I, J, Times: Integer;
begin
  Top := 1;
  Stack[1] := '';
  I := 1;
  while I <= Length(S) do
    case S[i] of
      '[':
        begin
          Inc(Top);
          Stack[Top] := '[';
          Inc(I);
        end;
      ']':
        begin
          if Top = 1 then
            PatternException(SInvalidPattern);
          Temp := Stack[Top] + ']';
          Dec(Top);
          Inc(I);
          Times := 0;
          while (I <= Length(S)) and (S[i] in ['0'..'9']) do
          begin
            Times := Times * 10 + Ord(S[i]) - Ord('0');
            Inc(I);
          end;
          if Times = 0 then Times := 1;
          for J := 1 to Times do
            //AppendStr(Stack[Top], Temp);
            Stack[Top] := Stack[Top] + Temp
        end;
    else
      //AppendStr(Stack[Top], S[i]);
      Stack[Top] := Stack[Top] + S[i];
      Inc(I);
    end;
  if Top <> 1 then
    PatternException(SInvalidPattern);
  Result := Stack[1];
end;

procedure TCitiPattern.SetRegularExpr(RE: string);
var
  I, Top, J: Integer;
  P, C: string;
  Ch: Char;
  Stack, Patch: array [1..100] of Integer;
  CS: TCitiCharSet;
begin
  P := '';
  C := '';
  CS := [];
  if RE <> '' then
  begin
    if Pos('[', RE) <> 0 then
      RE := ProcessGroups(RE);
    Top := 0;
    I := 1;
    while I <= Length(RE) do
    begin
      Ch := RE[i];
      case Ch of
        '[':
          begin
            Inc(Top);
            Stack[Top] := Length(P) + 1;
            Patch[Top] := 0;
          end;
        '|':
          begin
            if Top = 0 then
              PatternException(SInvalidPattern);
            //AppendStr(P, #1);
            P := P + #1;
            //AppendStr(C, #0);
            C := C + #0;
            C[Stack[Top]] := Char(Length(P) + 1 - Stack[Top]);
            Stack[Top] := Length(P) + 1;
            C[Length(C)] := Chr(Patch[Top]);
            Patch[Top] := Length(C);
          end;
        ']':
          begin
            if Top = 0 then
              PatternException(SInvalidPattern);
            C[Stack[Top]] := Chr(Length(P) + 1 - Stack[Top]);
            while Patch[Top] <> 0 do
            begin
              J := Patch[Top];
              Patch[Top] := Ord(C[J]);
              C[J] := Chr(Length(C) + 1 - J);
            end;
            Dec(Top);
          end;
      else
        //AppendStr(P, Ch);
        P := P + Ch;
        //AppendStr(C, #0);
        C := C + #0;
        case Ch of
          '_': CS := [#0..#255];
          '#': CS := CS + ['0'..'9'];
          '@': CS := CS + AlphaChars;
          '%': CS := CS + AlphaNums;
        else
          Include(CS, Ch);
        end;
      end;
      Inc(I);
    end;
    //AppendStr(P, #0);
    P := P + #0;
    //AppendStr(C, #0);
    C := C + #0;
  end;
  FPattern := P;
  FControl := C;
  FCharSet := CS;
end;

// TCitiPattern: special patterns

procedure TCitiPattern.SetDateTimePattern(AKind: TCitiDateKind; ATwoDigitYear,
  AReqSeconds: Boolean);
var
  S: string;
begin
  S := '';
  if AKind <= dkDateTime then // AKind is dkDate, dkDateTime, dkTime
  begin
    S := '#[#]' + DateSeparator + '#[#]' + DateSeparator + '##';
    if ATwoDigitYear then
      //AppendStr(S, '[##]')
      S := S + '[##]'
    else
      //AppendStr(S, '##');
      S := S + '##';
  end;
  if AKind = dkDateTime then
    //AppendStr(S, ' [ ]');
    S := S + ' [ ]';
  if AKind >= dkDateTime then
  begin
    //AppendStr(S, '#[#]' + TimeSeparator + '#[#]');
    S := S + '#[#]' + TimeSeparator + '#[#]';
    if AReqSeconds then
      //AppendStr(S, TimeSeparator + '#[#]')
      S := S + TimeSeparator + '#[#]'
    else
      //AppendStr(S, '[' + TimeSeparator + '#[#]]');
      S := S + '[' + TimeSeparator + '#[#]]';
  end;
  SetRegularExpr(S);
end;

procedure TCitiPattern.SetFloatPattern(ADigits, ADecimals: Integer; Neg,
  Dot: Boolean);
var
  S, S1: string;
begin
  if Neg then
    S := '[-]#'
  else
    S := '#';
  if ADigits > 1 then
  begin
    //AppendStr(S, '[#]');
    S := S + '[#]';
    //AppendStr(S, IntToStr(ADigits - 1));
    S := S + IntToStr(ADigits - 1);
  end;
  if ADecimals > 0 then
  begin
    S1 := DecimalSeparator;
    repeat
      if Dot then
        //AppendStr(S1, '#')
        S1 := S1 + '#'
      else
        //AppendStr(S1, '[#]');
        S1 := S1 + '[#]';
      Dot := False;
      Dec(ADecimals);
    until ADecimals = 0;
    if Dot then
      //AppendStr(S, S1)
      S := S + S1
    else
      //AppendStr(S, '[' + S1 + ']');
      S := S + '[' + S1 + ']';
  end;
  SetRegularExpr(S);
end;

procedure TCitiPattern.SetIntegerPattern(AMin, AMax: Integer);
var
  S: string;
begin
  if AMin >= AMax then
    AMin := -MaxLongInt;
  if AMin < 0 then
    S := '[-]#'
  else
    S := '#';
  AMin := Abs(AMin);
  AMax := Abs(AMax);
  if AMin > AMax then AMax := AMin;
  while AMax >= 10 do
  begin
    AMax := AMax div 10;
    //AppendStr(S, '[#]');
    S := S + '[#]';
  end;
  SetRegularExpr(S);
end;

// TCitiPattern: prefixed expression for filter patterns

procedure TCitiPattern.SetPrefix(const PatPref, CtlPref: string;
  const CSet: TCitiCharSet);
begin
  FPatternPrefix := PatPref;
  FControlPrefix := CtlPref;
  FCharSetPrefix := CSet;
end;

// TCitiPattern: the match engine

function MatchChar(PatChar, DataChar: Char): Boolean;
begin
  case PatChar of
    '#': Result := DataChar in ['0'..'9'];
    '_': Result := True;
    '@': Result := IsCharAlpha(DataChar);
    '%': Result := IsCharAlphaNumeric(DataChar);
  else
    Result := (PatChar = DataChar);
  end;
end;

function TCitiPattern.Match(const Data: string; var Tail: string;
  var Jump: Boolean): TCitiValidateState;
var
  I, J: Integer;
  Pat, Con: string;
begin
  Jump := False;
  if FPattern = '' then
  begin
    Result := vsOk;
    Exit;
  end;
  Pat := FPatternPrefix + FPattern;
  Con := FControlPrefix + FControl;
  ASSERT(Length(Pat) = Length(Con));
  Tail := '';
  I := 1;
  J := 1;
  while J <= Length(Data) do  // For each character in Data
    if Pat[i] = #0 then       // Halt pattern matching
    begin
      Result := vsError;      // Data string is longer than pattern
      Exit;
    end
    else if MatchChar(Pat[i], Data[J]) then
    begin
      Inc(I);
      Inc(J);
    end
    else if Con[i] = #0 then
    begin                     // Data mismatch; no jump available
      Result := vsError;
      Exit;
    end
    else                      // Jump to alternative
      Inc(I, ShortInt(Con[i]));
  if Pat[i] = #1 then         // Skip vertical bar (|)
    Inc(I, ShortInt(Con[i]));
  J := I;
  while Con[i] <> #0 do       // Skip optional strings
    Inc(I, ShortInt(Con[i]));
  if Pat[i] = #0 then
  begin
    Result := vsOk;
    Jump := I = J;            // No optional strings at pattern's end
  end
  else
  begin
    Result := vsIncomplete;   // Data string is shorter than pattern
    repeat
      if Pat[J] = #1 then
        Inc(J, ShortInt(Con[J]))
      else if (Con[J] = #0) and
        not (Pat[J] in [#0, '#', '@', '%', '_']) then
      begin
        //AppendStr(Tail, Pat[J]);
        Tail := Tail + Pat[J];
        Inc(J);
      end
      else
        Break;
    until False;
  end;
end;

// Initialization & finalization

var
  Ch: Char;
initialization
  for Ch := #32 to #255 do
  begin
    if IsCharAlpha(Ch) then
      Include(AlphaChars, Ch);
    if IsCharAlphaNumeric(Ch) then
      Include(AlphaNums, Ch);
  end;
end.

Última edición por Casimiro Notevi fecha: 07-11-2016 a las 10:51:56.
Responder Con Cita
  #7  
Antiguo 07-11-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración

Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #8  
Antiguo 07-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Esos componentes no tienen versión actualizada?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 07-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
No, es un componente desarrollado por el equipo que diseñó la aplicación, y es el componente lo que estoy intentando compilar en la versión 10.1 y que me está generando estos errores.

Muchas gracias.
Responder Con Cita
  #10  
Antiguo 07-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Entonces en este caso, tendrás que hacer la traducción.
Deja a un lado el EXE e intenta eliminar los Hints y Warnings de este fichero cuando lo compilas/Instalas.


Código:
...\CitiEditors\CitiPatterns.pas(8,29): warning W1050: W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit.
En esa línea utiliza la función à la que hare referencia el warning.

Código:
...\CitiEditors\CitiPatterns.pas(193,26): error E2010: E2010 Incompatible types: 'AnsiChar' and 'Char'
Cambia las varuiables y constantes por AnsiChar. En consecuencia deberás cambiar parámetros de las funciones que los utilicen.

Código:
...\CitiEditors\CitiPatterns.pas(218,19): error E2003: E2003 Undeclared identifier: 'DateSeparator'
Para esto, busca en la ayuda sobre TFormatSettings en System.SysUtils

Código Delphi [-]
  ... TFormatSettings.DateSeparator

Código:
...\CitiEditors\CitiPatterns.pas(232,23): error E2003: E2003 Undeclared identifier: 'TimeSeparator'
(Igual que el anterior)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 07-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Muchas gracias. Intentaré hacerlo así, a ver qué consigo.

Un saludo
Responder Con Cita
  #12  
Antiguo 07-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A medida que vayas resolviendo, ves colocando los que te van quedando...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 07-11-2016
tmsanchez tmsanchez is offline
Miembro
 
Registrado: mar 2004
Ubicación: Mexico
Posts: 67
Poder: 21
tmsanchez Va por buen camino
Hola, me parece que Embarcadero renovó la página para apoyar en la migración de aplicaciones desde versiones anteriores, probablemente te ayude la información que publicaron:

https://www.embarcadero.com/es/rad-i...upgrade-center

Saludos.
Responder Con Cita
  #14  
Antiguo 07-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto


No conocía ese link.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #15  
Antiguo 08-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Muchas gracias por el enlace. Creo que me será útil, porque ya he solucionado algunos errores y ahora se me presenta uno relacionado con el BDE (DBTables). Por lo que he visto en este enlace y buscando por Internet, el BDE está ya obsoleto y creo que en el enlace de Embarcadero da algunas nociones sobre cómo migrar a FireDAC.

Muchas gracias a todos de nuevo.
Responder Con Cita
  #16  
Antiguo 14-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Buenas de nuevo

Sigo trabajando en la migración de mi aplicación, y tengo un problema que llevo unos días intentando resolver y no consigo hacerlo: "[dcc32 Fatal Error] Functions_Ado.pas(7): F2613 Unit 'DBTables' not found." Como comenté en la respuesta anterior, he visto que el BDE de Delphi ha quedado obsoleto, pero no sé cómo sustituirlo por algún componente nuevo. He leído por ahí que aun es posible descargar el BDE para Delphi 10.1, pero hace falta ser un usuario registrado para poder descargarlo. La licencia que voy a usar está en proceso de gestión, por lo que no puedo descargarlo hasta que la tenga, y además, me gustaría migrar la aplicación sustituyendo los componentes obsoletos por los más actualizados. ¿Podéis orientarme sobre cómo hacerlo?

Muchas gracias por adelantado.

Un saludo
Responder Con Cita
  #17  
Antiguo 14-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si buscas sobre "Migrate BDE FireDAC" encontrarás bastantes links al respecto. Hay alguna utilidad de Embarcadero que te ayuda a hacerlo y alguna comercial que promete hacerlo de forma automática (aunque no las he probado).

Revisa los links.
Todo dependerá del tamaño de tu aplicación y del uso que hagas de los componentes.
Lo que sí parece recomendable es que sustituyas el BDE .

http://docwiki.embarcadero.com/RADSt...ons_to_FireDAC
https://community.embarcadero.com/bl...th-delphi-10-1
https://www.youtube.com/watch?v=_ttdy9_2rWo
...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #18  
Antiguo 14-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Buenas

Efectivamente, viendo por ahí había encontrado una equivalencia entre los nombres (variables, módulos, etc.) entre BDE y FireDAC. Sigo avanzando.

Muchas gracias de nuevo.
Responder Con Cita
  #19  
Antiguo 29-11-2016
giko giko is offline
Miembro
NULL
 
Registrado: dic 2013
Posts: 17
Poder: 0
giko Va por buen camino
Buenos días

Después de intentar seguir con la migración, al abrir una de las aplicaciones que pretendo migrar, el IDE se queda colgado ("not responding") y no consigue terminar de abrirla. He dejado el equipo incluso 24 horas intentando abrirla sin ningún resultado. ¿A alguien le ha sucedido alguna vez? ¿Sabéis por qué puede estar pasando esto?

Muchas gracias por adelantado.
Responder Con Cita
  #20  
Antiguo 29-11-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Crea un proyecto nuevo y ves añadiendo los formularios uno a uno del proyecto original.
A ver si detectas si el problema es de alguno concreto o del proyecto en sí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Migrar delphi 7 a Code Gear 2007 alejobog Varios 6 03-10-2015 10:50:46
Porque deberia migrar desde Borland Delphi 7 a Codegear RAD Studio Dephi 2007 rmendoza83 Varios 19 11-03-2009 16:25:39
Migrar aplicación escritrio Delphi 2006 a RAD STUDIO 2007 SMTZ .NET 7 12-03-2008 16:11:36
Ayuda para migrar a Delphi 2007 rolandoj Varios 18 07-08-2007 05:52:19
Migrar de Delphi 7 a Delphi 2007 Arturo_ Varios 2 13-07-2007 10:36:12


La franja horaria es GMT +2. Ahora son las 13:02:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi