Ver Mensaje Individual
  #5  
Antiguo 28-04-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Bueno, decir que hay cierto y modesto avance en el tema. Ya está disponible una primera y sencilla versión para Delphi XE2, la cual veremos de qué manera seguir ampliando.

Concerniente a este primer avance sobre versiones modernas de Delphi, rescato uno de los varios apuntes que Rolphy Reyes hizo durante una navegación exploratoria:
Cita:
Empezado por Rolphy Reyes
He sacado tiempo y he realizado una instalación (sin realizar prueba) del componente TghDataSource en Delphi 2010.

Tuve algunos Warnings y Errors, ojala Al pueda echar un vistazo, en la unidad GHFRTL en su mayoría pude corregirlos solo un Warning no pude corregir en el siguiente método:
Código Delphi [-]
      Function ghStr (Const Value, MinLength :Integer;
        Const PadChr :Char = '0') :String; Overload;
      Var
        AResult :PChar Absolute Result;
        I :Integer;
      Begin
     
        /// Para XE2 utilizar System._Str2Ext
        Str (Value:MinLength, Result); //<<--------- Aqui
     
        If PadChr = ' ' Then
          Exit;
     
        I := 0;
     
        While AResult [i] = ' ' Do
        Begin
          AResult [i] := PadChr;  // Direct writing on the unique string Result
          Inc (I);
        End;
      End;
Buscando referencia encontré en el wiki de Embardero la descripción del método y la salvedad (nota) de que era posible que dicha advertencia podía surgir, pero no su arreglo.

A manera general, cree un Package llamado GHFreebraryCore donde añadí todas las unidades para su compilación mas no pude completar el proceso porque existen demasiadas incompatibilidades de tipo de datos en el ClientDataSet por lo que procedí a crear el paquete GHFCoreDataSource donde si pude realizar la compilación de manera satisfactoria.

[...]

La buena noticia de todo esto es que se puede instalar el componente TghDataSource tanto para Delphi 2010 como XE1, dentro de poco me pondré a compilar para Delphi XE2.
Sobre la función que Rolphy me señalaba, encontré que la advertencia del compilador "Implicit string cast from X to Y" no supone riesgo alguno, e incluso dentro de algunas unidades nativas de la RTL puede verse una directiva que la desactiva:
Código Delphi [-]
unit System.WideStrUtils;

{$WARN IMPLICIT_STRING_CAST OFF}
Así que, después de estudiar el tema, hice lo propio en la unidad GHFRTL:
Código Delphi [-]
Unit GHFRTL;  { RTL }

{$Warn Implicit_String_Cast Off}

Sigamos entonces, ya hay avance en XE2. ¿Qué paso damos ahora? ¿Seguimos ampliando en XE2 o primero llevamos ese componente a otras versiones?

Saludos.
Responder Con Cita