Einzelnen Beitrag anzeigen

Golze

Registriert seit: 26. Aug 2004
Ort: Berlin
32 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: Dll-Ausführen von Code bevor sie aus dem Speicher gelade

  Alt 29. Sep 2004, 20:03
Hi zusammen,
Philipp hat recht. Deshalb hier noch mal von mir ein kleines komplettes Beispiel

Delphi-Quellcode:
library TestDLL;
uses
  Windows, SysUtils, Classes, Forms;

procedure DLLEntryPoint(dwReason: DWord);
begin
  case dwReason of
    DLL_PROCESS_ATTACH: InitializeMethode; //die methode muss ich selber schreiben
    DLL_PROCESS_DETACH: FinalizeMethode; //die methode muss ich selber schreiben
  end;
end;

begin
  {First, assign the procedure to the DLLProc variable.}
  DllProc := @DLLEntryPoint;

  {Now invoke the procedure to reflect that the DLL is attaching to the process.}
  DLLEntryPoint(DLL_PROCESS_ATTACH);
end.
Der Finalize-Abschnitt innerhalb einer Unit funktioniert nicht. Dieser Abschnitt gilt generell nur für eine Unit und nicht für eine DLL. Wie und Wann eine Unit geladen oder entladen wird, ist von Delphi abhängig. Vor dem Laden von Units macht Delphi einiges im Hintergrund, was mit der DLL oder auch der Programmdatei selbst nicht viel zu tun hat.
Kay Golze
Wo Gold ist, muß es auch glänzen.
  Mit Zitat antworten Zitat