Ver Mensaje Individual
  #7  
Antiguo 24-07-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
Cita:
Empezado por fjcg02 Ver Mensaje
Yo no respondo porque no tengo esa versión de Delphi.
Hola Javier. Tengo entendido que usas la versión 6. ¿Has considerado actualizarte a una versión más nueva? ¿Crees que valdría la pena adaptar GHF a Delphi 6? Creo recordar que algo de eso comenzaste a hacer hace poco tiempo. Si quedó funcional no estaría de más compartirla.

Cita:
Empezado por fjcg02 Ver Mensaje
[...] bajo mi punto de vista es fundamental varios ejemplos empleando las rutinas explicando cómo se utilizan y porqué. La descripción de lo que hacen las funciones o métodos me parecen un poco "pobres".
Para la documentación he intentado seguir un esquema similar al de las clásicas ayudas de Delphi y la API de Windows que en mi opinión son todo menos pobres. En las cuales se presenta: una descripción corta, la declaración del elemento, una descripción general, la descripción de cada uno de los parámetros, las notas u observaciones y algunos ejemplos.

Cita:
Empezado por fjcg02 Ver Mensaje
Creo que los desarrolladores buscamos código funcional, que resuelva algún problema específico.
Espero podamos avanzar en el entendimiento y documentación de la biblioteca para que su funcionalidad quede más visible.

Cita:
Empezado por fjcg02 Ver Mensaje
Y respecto a los ejemplos, explicar brevemente cuando y porqué se ha de utilizar una solución que incluya componentes de esta biblioteca.
Eso es algo que ya se viene haciendo en cada tema publicado, pero intentaré mejorarlo. La respuesta general a por qué usar algún elemento de cualquier biblioteca es porque resuelve algo o de forma más rápida, o escribiendo menos código, o con menos esfuerzo (o una combinación de las tres), que si no lo usáramos.

Tienes el caso de la clase TghForm, palabra que con solo ponerla en lugar de TForm al inicio de las declaraciones de formularios —cambiando "TForm1 = class(TForm)" por "TForm1 = class(TghForm)"—, nos facilitamos el manejo de dichos formularios (y los que deriven de ellos):
Cita:
Empezado por Al González Ver Mensaje
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 [-]
TForm1.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 [-]
TForm1.Execute ('Rueda');
TForm1.Execute ('Palanca');
El formulario puede "recoger" esos parámetros en alguno de sus eventos, como el evento OnCreate:
Código Delphi [-]
procedure TForm1.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 [-]
TForm1.Open ('Rueda');
Agradezco mucho tu crítica, Javier. Más por haberte tomado la molestia de descargar, examinar y probar algunas partes de GH Freebrary, lo cual me consta por la correspondencia que hemos tenido. Ojalá vengan muchas otras de esas constructivas observaciones.

Un saludo.

Al.
Responder Con Cita