Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Bibliotecas de código fuente > [GH Freebrary]
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2016
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
Instalación de GHFreebrary

Buenas he descargado las lunidades de gh freebrary pero no se on componentes instalables o solo unidades que debo colocar en una carpeta y relacionar a mi proyecto
Responder Con Cita
  #2  
Antiguo 17-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 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
Hola webmasterplc.

Para esa biblioteca hay una sección particular. Pero no hará falta que abras otro hilo; un moderador moverá este en algún rato libre.

La versión de mediados de noviembre de 2016 no tiene incorporadas aún las clases componentes. Puedes hacer uso de las clásicas Library path y Search path para que el compilador encuentre las unidades GHF que pongas en típicas cláusulas Uses. Algunas clases, como TghSys, cuentan con métodos de clase (class function) y son para usarse al estilo:
Código Delphi [-]
If TghSys.BoolBar (XXX) Then  // Método de clase BoolBar que devuelve un valor de True/False
  Foo := TghSys.Bar (XXX);  // Asignar a una variable Foo lo que devuelve un método de clase llamado Bar
Si usas formularios VCL, te recomiendo cambiar su clase padre, de TForm a TghForm. De esa manera podrás abrir tus formularios llamando a los métodos Open y Execute, en lugar de Show y ShowModal. Pero esto no es requisito.

Hay muchas clases y métodos en esos fuentes, para realizar todo tipo de cosas. Anímate a explorar el código y pregunta con toda confianza.

Saludos.

Al González.
Responder Con Cita
  #3  
Antiguo 19-11-2016
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
Me parece que esta liberación podría compilar en XE8 también. Debo comprobarlo.

GHF.Form es la unidad que contiene a TghForm (un TForm "extendido").

GHF.Sys y GHF.SysEx son las unidades centrales.

GHF.Win contiene cosas generales para aplicaciones Windows.

GHF.VCL contiene cosas generales para aplicaciones Windows+VCL.

Última edición por Al González fecha: 19-11-2016 a las 16:23:46.
Responder Con Cita
  #4  
Antiguo 19-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 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
¡Chanfle! Modifiqué tu mensaje por error.

Creí que estaba respondiendo, no editando.

Una disculpa, compañero. Voy a buscar una copia para recuperarlo.
Responder Con Cita
  #5  
Antiguo 19-11-2016
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
¡Chanfle! Modifiqué tu mensaje por error.

Creí que estaba respondiendo, no editando.

Una disculpa, compañero. Voy a buscar una copia para recuperarlo.
que unidades debo agregar para trabajar con la clase de los formularios, y si tengo que modificar todo el codigo de mi proyecto, porque tengo en mi codigo la creacion de form en tiempo de ejecución y la liberacio al cerrarlo y por lo que lei solo tengo que llamarlo con .execute u open y al cerrarlo se libera automaticamente.
Responder Con Cita
  #6  
Antiguo 19-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 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
La unidad a agregar al Uses es GHF.Form.

Localizas aquellos formularios que te interese adaptar a TghForm. Si en su respectivo archivo .pas dice algo como:
Código Delphi [-]
TForm1 = class(TForm)
Lo cambias por
Código Delphi [-]
TForm1 = class(TghForm)
En caso de que utilices herencia visual este cambio es más fácil, porque solo hay que hacerlo en las plantillas base. Y cambiar la clase padre por TghForm no te obliga a cambiar la sintaxis de creación y apertura de formularios; tú decides cuándo usar la sintaxis corta que se explica a continuación:
Cita:
Empezado por Al González Ver Mensaje
[...] 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');
Código Delphi [-]
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');
NOTA: En la práctica, muy pocas veces es necesaria la variable global que Delphi agrega con cada formulario. Pero, en caso de que la necesites, puedes asignarle Self en el evento OnCreate. Aunque con ello se reduce un poco la ventaja del ahorro de código.

Saludos.

Al González.

P.D. Agradecería a cualquiera que haya conservado o tenga acceso al texto original del mensaje #3 (tendré más cuidado con los clics en mi teléfono móvil).
Responder Con Cita
  #7  
Antiguo 20-11-2016
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
Para pasarle daos a las variables a la hora de abrirlo es igual a la manera anterior? o hay algun metodo en la libreria
Responder Con Cita
  #8  
Antiguo 20-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 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 webmasterplc Ver Mensaje
Para pasarle daos a las variables a la hora de abrirlo es igual a la manera anterior? o hay algun metodo en la libreria
¿A qué te refieres? ¿Podrías explicarte o poner un ejemplo de lo que quieres hacer? Gracias.
Responder Con Cita
  #9  
Antiguo 20-11-2016
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
Código Delphi [-]
with TFormSelCliente.Create(Self) do
  try
   Caption:='Seleccionar Cliente Para ver Su Historico';
   forma:='1';
   ShowModal;
  finally
   Free
  end;
Responder Con Cita
  #10  
Antiguo 20-11-2016
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.408
Poder: 22
fjcg02 Va camino a la fama
Ostias Al,
se me hace raro ver el avatar que has puesto y no "el tuyo".

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #11  
Antiguo 20-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 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 webmasterplc Ver Mensaje
Código Delphi [-]
with TFormSelCliente.Create(Self) do
  try
   Caption:='Seleccionar Cliente Para ver Su Historico';
   forma:='1';
   ShowModal;
  finally
   Free
  end;
Un par de preguntas para determinar la alternativa con GHF:

En tu ejemplo, ¿forzosamente debe ser Self el parámetro dado al constructor, o el Owner puede ser también Application, Nil, etc.? Y ¿qué es "forma" y cómo usas ese elemento más tarde? Mostrarme código.

Saludos.

Al González.
Responder Con Cita
  #12  
Antiguo 20-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 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
Ostias Al,
se me hace raro ver el avatar que has puesto y no "el tuyo".
Es que viajé al futuro, el presente aquí, y se actualizó sin darme cuenta el sistema operativo de mi machine d'arithmétique.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema compilar GHFreebrary fjcg02 OOP 4 14-07-2010 17:55:36
cd de instalacion MARLON1 Varios 2 30-04-2008 18:47:44
instalacion empty Varios 4 30-04-2004 18:46:56
instalacion de DLL Esau Varios 0 15-08-2003 19:49:41
Instalacion emeritos Lazarus, FreePascal, Kylix, etc. 3 21-05-2003 04:58:42


La franja horaria es GMT +2. Ahora son las 18:46:32.


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