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
Str (Value:MinLength, Result);
If PadChr = ' ' Then
Exit;
I := 0;
While AResult [i] = ' ' Do
Begin
AResult [i] := PadChr; 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;
{$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.