Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

Form aus BPL dynamisch laden

  Alt 22. Feb 2006, 14:14
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
  Mit Zitat antworten Zitat