Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-02-2014
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
[SOLUCIONADO] Extraño comportamiento de paquetes

Hola amigos estoy intentando dividir mi aplicación en paquetes, ya lei todas las ayudas que hay aquí en el foro, vi el video que recomiendan, etc.

logro hacer lo siguientes:

Forma principal:
Código Delphi [-]
procedure TFrmModCatalogos.SpeedButton1Click(Sender: TObject);
Var
  PackageModule: HModule;
  Aclass: TPersistentClass;
begin
  PackageModule:= Loadpackage('PackCtrlClasiClientes.bpl');
  if PackageModule <> 0
    Then Begin
      Aclass:= GetClass('TFrmGBCLasiClient1');
      if Aclass <> nil
        Then Begin
          FormaHija:= TComponentClass(Aclass).Create(Application) as TForm;
          if Assigned(FormaHija)
            then FormaHija.OnClose:= ChildFormClose
            else begin
              UnloadPackage(PackageModule);
              PackageModule:= 0;
            end;
        End;
    End;
end;

Creo el paquete PackCtrlClasiClientes.bpl con las siguientes formas
Forma 1:
Código Delphi [-]
unit UniFrmGBCLasiClient;

.....

type
  TFrmGBCLasiClient = class(TForm)
    ....
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmGBCLasiClient: TFrmGBCLasiClient;

implementation


{$R *.dfm}

 .......

initialization
  RegisterClass(TFrmGBCLasiClient);
finalization
  UnRegisterClass(TFrmGBCLasiClient);

end.

Forma 2:

Código Delphi [-]
unit UniFrmGBCLasiClient1;

...

type
  TFrmGBCLasiClient1 = class(TFrmGBCLasiClient)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmGBCLasiClient1: TFrmGBCLasiClient1;

implementation

{$R *.dfm}

initialization
  RegisterClass(TFrmGBCLasiClient1);
finalization
  UnRegisterClass(TFrmGBCLasiClient1);

end.

He suprimido el código de los componentes de las formas para ahorrar espacio

Como veran en la forma principal al hacer click en un boton cargo el paquete y mando a llamar a la forma 2 (TFrmGBCLasiClient1) y esto funciona de forma correcta no hay ningun problema, pero al agregar una tercera forma a mi paquete

Forma 3:
Código Delphi [-]
unit UniFrmAMClasiClient;

....
type
  TFrmAMClasiClient = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmAMClasiClient: TFrmAMClasiClient;

implementation

{$R *.dfm}

.....

initialization
  RegisterClass(TFrmAMClasiClient);
finalization
  UnRegisterClass(TFrmAMClasiClient);

end.

En ejecutarlo en el programa principal AClass siempre me da nil

Código Delphi [-]
      Aclass:= GetClass('TFrmGBCLasiClient1');
      if Aclass <> nil

Alguna idea para crear esta 3° Forma? o como corregir el error

Gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
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
Un comportamiento extraño. TiammatMX Varios 5 03-09-2013 22:54:07
Comportamiento extraño de current_timestamp erickperez6 Firebird e Interbase 4 07-12-2011 07:42:24
Extraño comportamiento de un ComboBox r1d2m3 OOP 2 09-07-2011 17:36:45
Extraño comportamiento de ADO r1d2m3 Conexión con bases de datos 3 12-12-2009 19:08:32
Comportamiento extraño dataModule brandolin OOP 9 08-07-2004 14:25:47


La franja horaria es GMT +2. Ahora son las 21:11:37.


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