Thema: Delphi programm in dll

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: programm in dll

  Alt 1. Nov 2003, 17:20
Also, Unterschied Programm DLL.

Ein Programm enthält allein ausführbaren Code. Der Loader läd die Anwendung in den Speicher, ruft CreateProcess auf, um den Prozess zu erzeugen (Adressraum bereitstellen, Kernel-Objekt erzeugen). Dann folgt ein Aufruf von CreateThread, um den primären Thread zu starten, der den eigentlichen Code ausführt. Der Prozess selbst führt keinen Code aus, er dient nur als Container für die Threads, welche den eigentlichen Programm-Code dann ausführen.

Eine DLL kann selbst keinen Code ausführen. Eine DLL enthält nur Code der von einem Prozess / Thread ausgeführt werden kann. Dazu wird die DLL in den Adressraum des Prozesses geladen, wo durch der Thread dann Zugriff auf die exportierten Codeteile (Funktionen) der DLL hat.

Was man aber mache kann ist: Die DLL laden und einen Thread starten dessen Code in der DLL liegt. Auf alle Fälle brauchst du einen Prozess, der den Adressraum zur Verfügung stellt und einen Thread, der die DLL läd und den Code der DLL ausführt.

Hmpf, war einer schneller.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat