Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#8

AW: Thread in DLL richtig freigeben

  Alt 6. Jun 2022, 15:18
Der DllEntryPoint/DllMain wird beim Laden und Entladen aufgerufen.

Beim Laden hat man es indirekt ... der BEGIN-END-Block in der DPR.
Für's Entladen muß man sich registrieren.

Oder man nimmt eben das, was man in den Units hat.
initialization und finalization
oder eben Class Constructor und Class Destructor


Der EntryPoint der EXE/DLL ist im Pascal "versteckt",
bzw. der ruft von innen aus nacheinander das BEGIN-END der DPR und alle Initialization/Finalization der Units auf.
Zuerst die Class-Constructor, dann Initialization, jeweils für alle Units und zum Schluß den Main-Code in der DPR.
Und beim Entladen genau andersrum. (nur eben normal ohne einen Code in der DPR, außer man überschreibt die MainProc)



Zitat:
FsContentPluginUnloading
Genau, es macht das Programm, welches solche DLLs lädt. (sowas findet man natürlich in der Dokumentation der API)
Vor allem, um beim Laden noch einige Werte zu übergeben, und/oder vorher noch paar Dinge zu initialisieren.

Ist das Gleiche, wie das "Register" im Delphi, für IDE-Plugins.
https://docwiki.embarcadero.com/RADS...nents_aufrufen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Jun 2022 um 15:28 Uhr)
  Mit Zitat antworten Zitat