Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 15-06-2010
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Despues de mucho batallar logre cargar de forma dinamica mis packages.

Pero tengo algunos problemas.

La forma de cargar estos paquetes funciona asi:

Código Delphi [-]
var
  Frame :TForm;
  PackageModule: HModule;
  AClass: TPersistentClass;
begin
Frame := FindComponent ('Form5') as TForm;
if Assigned (Frame) then frame.BringToFront
else
BEGIN

PackageModule := LoadPackage('C:\PROGRAMAS\DOMMO_3\Mas.bpl');
  if PackageModule <> 0 then
  begin
    AClass := GetClass('TForm5');
    if AClass <> nil then
      with TComponentClass(AClass).Create(Application)
        as TForm do
      begin
        parent := panel1;
        Show;
   //     Free;
      end;
 //   UnloadPackage(PackageModule);
  end;
end;

Las lineas Free y UnloadPackage tuve que comentarlas, ya que cambié el showmodal, por un show. La idea de esto es que funcione como si fuera un archivo de Excel (por ejemplo), en donde pudiese cerrar, maximizar o ajustar el tamaño del form dentro del parent, en este caso un TPanel.

Esto funciona bien, pero el problema es que si ejecuto mas de una vez la rutina me sigue cargando nuevos Forms... y no es lo que quiero. Por esto agregue unas lineas al comienzo...

Código Delphi [-]
Frame := FindComponent ('Form5') as TForm;
if Assigned (Frame) then frame.BringToFront
else

esto con el afan de que si encuentra algun componente de tipo TForm (por ejemplo), en vez de crear nuevamente lo traiga al frente.

El punto es que no funcionó, me percate, que cada vez que creo el Form le agrega al nombre original "_1", "_2", "_3", y asi sucecivamente... como puedo solucioanr esto.

Por otro lado, tengo en el progrma principal 2 Tform, uno que es el con el comienza la aplicación, y el segundo un TdataModule.

Ocurre que tengo 2 paquetes, y en cada uno de ellos lo tengo linkeado con la sentencia "uses", al unit del datamodulo.

El punto es que como NO cierro estos paquetes, si tengo uno abierto y quisiera abrir el otro, me arroja un error que no se puede cargar el paquete, porque contiene un unit que está en otro paquete.

Porque ocurre esto... como puedo solucionarlo.

Espero me puedan ayudar.

Saludos
Responder Con Cita
 



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
FirebirdConfig ahora en Plugin para IBExpert egostar Noticias 15 26-09-2008 22:45:17
Plugin para outlook fjardelphiyahoo OOP 1 18-09-2007 13:14:01
¿Como instalo plugin en IBexpert? NPIdea Firebird e Interbase 1 22-06-2007 13:27:10
Instalar Plugin en eclipse Paoti JAVA 3 08-01-2007 20:47:23
Que es un plugin? chavetaz Varios 2 19-10-2004 14:41:29


La franja horaria es GMT +2. Ahora son las 20:35:43.


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