Carregamento dinamico de pacotes
olá pessoal, estou chamando um form carregado a partir de uma bpl que está sendo carregada dinamicamente.
TmyForm = class(Tform)
public
constructor Create(Awoner : TComponent); reintroduce; virtual;
end;
Tfrmbpl = class(TmyForm)
private
{ Private declarations }
public
{ Public declarations }
Constructor Create(Aowner:TComponent);
end;
{ TmyForm }
constructor TmyForm.Create(Awoner : TComponent);
begin
inherited Create(Awoner);
ShowMessage('Construdor base');
end;
{ Tfrmbpl }
constructor Tfrmbpl.Create(Aowner:TComponent);
begin
inherited Create(Aowner);
ShowMessage('Construdor filho');
end;
initialization
RegisterClass(Tfrmbpl);
----------------------------------------------------------------------
var
AClass: TClass;
AForm: TForm;
FPackageHandle: Integer;
begin
FPackageHandle := LoadPackage(PessoaPkg);
AClass := GetClass('Tfrmbpl');
if AClass <> nil then
begin
Application.CreateForm(AClass, AForm);
AForm.ShowModal;
end;
quando executo o create ele não chama o construtor das classes Tfrmbpl e nem da Tmyformbpl.
qualquer ajuda é bem vinda...
TmyForm = class(Tform)
public
constructor Create(Awoner : TComponent); reintroduce; virtual;
end;
Tfrmbpl = class(TmyForm)
private
{ Private declarations }
public
{ Public declarations }
Constructor Create(Aowner:TComponent);
end;
{ TmyForm }
constructor TmyForm.Create(Awoner : TComponent);
begin
inherited Create(Awoner);
ShowMessage('Construdor base');
end;
{ Tfrmbpl }
constructor Tfrmbpl.Create(Aowner:TComponent);
begin
inherited Create(Aowner);
ShowMessage('Construdor filho');
end;
initialization
RegisterClass(Tfrmbpl);
----------------------------------------------------------------------
var
AClass: TClass;
AForm: TForm;
FPackageHandle: Integer;
begin
FPackageHandle := LoadPackage(PessoaPkg);
AClass := GetClass('Tfrmbpl');
if AClass <> nil then
begin
Application.CreateForm(AClass, AForm);
AForm.ShowModal;
end;
quando executo o create ele não chama o construtor das classes Tfrmbpl e nem da Tmyformbpl.
qualquer ajuda é bem vinda...
Igo Oliveira
Curtidas 0
Respostas
Igo Oliveira
15/06/2010
ninguém ?
GOSTEI 0
Igo Oliveira
15/06/2010
concluido
GOSTEI 0
Marco Salles
15/06/2010
olá pessoal, estou chamando um form carregado a partir de uma bpl que está sendo carregada dinamicamente.
TmyForm = class(Tform)
public
constructor Create(Awoner : TComponent); reintroduce; virtual;
end;
Tfrmbpl = class(TmyForm)
private
{ Private declarations }
public
{ Public declarations }
Constructor Create(Aowner:TComponent);
end;
{ TmyForm }
constructor TmyForm.Create(Awoner : TComponent);
begin
inherited Create(Awoner);
ShowMessage('Construdor base');
end;
{ Tfrmbpl }
constructor Tfrmbpl.Create(Aowner:TComponent);
begin
inherited Create(Aowner);
ShowMessage('Construdor filho');
end;
initialization
RegisterClass(Tfrmbpl);
----------------------------------------------------------------------
var
AClass: TClass;
AForm: TForm;
FPackageHandle: Integer;
begin
FPackageHandle := LoadPackage(PessoaPkg);
AClass := GetClass('Tfrmbpl');
if AClass <> nil then
begin
Application.CreateForm(AClass, AForm);
AForm.ShowModal;
end;
quando executo o create ele não chama o construtor das classes Tfrmbpl e nem da Tmyformbpl.
qualquer ajuda é bem vinda...
Tudo bem amigo
Tópico antigo heimmm
Vejo que ja Resolveu
Mas a comunidade agradece qnd reporta como resolveu
Olhando rapidamente o que vc fez acho que o problema esta em :
TmyForm = class(Tform)
public
constructor Create(Awoner : TComponent); reintroduce; virtual;
end;
Tfrmbpl = class(TmyForm)
private
{ Private declarations }
public
{ Public declarations }
Constructor Create(Aowner:TComponent);
end;
{ TmyForm }
constructor TmyForm.Create(Awoner : TComponent);
begin
inherited Create(Awoner);
ShowMessage('Construdor base');
end;
{ Tfrmbpl }
constructor Tfrmbpl.Create(Aowner:TComponent);
begin
inherited Create(Aowner);
ShowMessage('Construdor filho');
end;
initialization
RegisterClass(Tfrmbpl);
----------------------------------------------------------------------
var
AClass: TClass;
AForm: TForm;
FPackageHandle: Integer;
begin
FPackageHandle := LoadPackage(PessoaPkg);
AClass := GetClass('Tfrmbpl');
if AClass <> nil then
begin
Application.CreateForm(AClass, AForm);
AForm.ShowModal;
end;
quando executo o create ele não chama o construtor das classes Tfrmbpl e nem da Tmyformbpl.
qualquer ajuda é bem vinda...
constructor Create(Awoner : TComponent); reintroduce; virtual;
GOSTEI 0