Einzelnen Beitrag anzeigen

jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Wie Panel in dll ablegen und bei bedarf laden

  Alt 26. Dez 2004, 23:20
OK! das die BPL datei erstellt wird habe ich hinbekommen, habe jetzt ein anderes Problem: Die Form wird nicht geladen die anwendung verursacht aber eine hohe CPU-Ausslastung.

Hier mein Code

Die hauptanwendung:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
 phm: HModule;
 ExecF: procedure (handle: hwnd);
begin
 {suppose package is in application's directory}
 phm:=LoadPackage(ExtractFilePath(ParamStr(0)) + 'TestPack.bpl');
 if phm <> 0 then
 try
   @ExecF:=GetProcAddress(phm, 'Execute');
   if Assigned(ExecF) then begin
     ExecF(Panel1.Handle);
   end else begin
     ShowMessage ('Execute routine not found!');
   end{if assigned}
 finally
   UnloadPackage(phm);
 end {try/finally}
 else {if hpm<>0}
   ShowMessage ('Package not found');
end;
Die Panel-Form:
Code:
procedure Execute(handle: hwnd);
begin
  Form1:= TForm1.CreateParented(handle);
  Form1.BorderStyle:=bsNone;
  Form1.Align:=alClient;
  Form1.Show;
end;

exports
  {Win32 export names are case sensitive!}
  Execute;
Hat jemand nen Tipp?
  Mit Zitat antworten Zitat