Hallo,
in einer dynamisch zu ladenden Form
befindet sich folgende Anweisung :
Delphi-Quellcode:
initialization
RegisterClass(TForm2);
finalization
UnRegisterClass(TForm2);
Der Aufruf erfolgt mit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
PackageModule: HModule;
AClass: TPersistentClass;
begin
PackageModule := LoadPackage('Package1.bpl');
Application.ProcessMessages;
begin
AClass := GetClass('TForm2');
if AClass <> nil then
with TComponentClass(AClass).Create(Application)
as TCustomForm do
begin
ShowModal;
Free;
end;
UnloadPackage(PackageModule);
end;
end;
Bei der Anweisung AClass := GetClass('TForm2'); ist AClass nil.
Binde ich die Form statisch ein, dann funktioniert die Anweisung.
Es handelt sich um ein Beispielprojekt von der Borland
BDS Seite.
Dynamic Packages
A white paper by Vino Rodrigues,
vinorodrigues@yahoo.com
Copyright (C) 2001 Vino Rodrigues
Sourcecode to example 2
Hat wer einen Tip, was hier beim dynamischen verwenden einer Form schief läuft?
Gruß
Peter