Ver Mensaje Individual
  #7  
Antiguo 30-06-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
Versión 20130630 liberada

Hola a todos.

Tengo novedades sobre las ediciones para Delphi 7 y XE2, acabo de subir la versión 20130630 (30 de junio de 2013). Esta vez tardé poco más de dos meses, pero ha valido la pena. Comprenderán que por más que quisiera dedicar el 100% de mi tiempo a este desarrollo, el hecho de que no me reporte ingresos (no han habido donaciones hasta el momento) hace que me distraiga en actividades laborales "normales". Ya saben, hay que ganarse las habichuelas, como dicen por ahí.

El porcentaje de la edición para XE2, respecto a la edición para Delphi 7, pasa del 20 al 28. Sigue siendo una proporción baja, pero ese 28% contiene bastante de lo que hace buena a GH Freebrary. Retiré de todas las unidades la leyenda "beta version", ya estaba de más calificarla de esa manera.

Una de las principales novedades para XE2 es que se incorpora la clase TghForm que usé durante bastante tiempo y con gran satisfacción en Delphi 7. No fue necesario hacerle grandes cambios, trabaja a la perfección.

Por otra parte, se agregaron las propiedades TghClientDataSet.FilterCheck y TghForm.Reader. Y en ambas ediciones se hicieron varias correcciones menores, y se incluyeron una veintena de funciones nuevas (como todas, pensadas para escribir menos código y evitarle complejidades al programador).

Para dar una muestra, me gustaría explicar brevemente que cuando derivamos nuestros formularios de TghForm en lugar de TForm, seguimos contando con todo lo que trae de herencia TForm, pero podemos lanzar los formularios sin tener que crear y destruir nosotros mismos las instancias de éstos. Con una sola línea se crea, se ejecuta (abre) y, cuando el usuario lo cierra, se destruye el formulario:
Código Delphi [-]
TForm2.Execute;
No necesitamos preocuparnos de instanciar la variable del formulario, ni de liberarla después de usar éste. Execute es como ShowModal, pero haciendo el trabajo completo. Y, como ShowModal, devuelve un estado mrOK, mrCancel, ..., según la manera en que haya sido cerrado el formulario. Además puede recibir parámetros abiertos, por si queremos indicarle algo a nuestro formulario:
Código Delphi [-]
TForm2.Execute ('Rueda');
TForm2.Execute ('Palanca');
El formulario puede "recoger" esos parámetros en alguno de sus eventos, como el evento OnCreate:
Código Delphi [-]
procedure TForm2.FormCreate(Sender: TObject);
begin
  // Agregamos al título del formulario "Rueda" / "Palanca" (lo que se haya puesto en Execute)
  Caption := Caption + ' - ' + OpenParams [0];
end;
Y si queremos algo similar a Execute, pero que en lugar de hacer ShowModal abra el formulario como lo hace Show, entonces tenemos para ello el método Open:
Código Delphi [-]
TForm2.Open ('Rueda');
En fin, es sólo una pequeñita muestra (una más) de lo que se pretende, y felizmente se consigue, con GH Freebrary.

Ojalá sepa de más programadores que la incorporen a su caja de herramientas. No hay como comprobar que lo que uno hace de verdad tiene valor.

Saludos.

Al González.

P.D. Tomaré esta versión de XE2 para comenzar la adaptación a XE4, la cual creo no tendrá mayores dificultades.
Responder Con Cita