Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName
Online

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: ActionList funktioniert nicht in DLL

  Alt 15. Jun 2020, 16:00
Ja, ich weiss, das meine ich aber nicht.
Wenn Du in Delphi DLLs baust, baut der Compiler standardmäßig alles rein, RTL, VCL etc. Somit hast du alles da, was die DLL braucht um dein Zeug zu machen, man weiss ja nicht, von wem man geladen wird.
Das gleiche passiert bei einer exe in Delphi. Muss man ja keine Bibliotheken mitliefern, wie zum Bsp. BPLs. Die sind dann statisch reingelinkt.

Wenn Du allerdings eine Delphi anwendung mit DLLs bauen willst, die Oberfläche haben, dann solltest Du das alles dynamisch linken so dass Du dann zwar RTLXXX.bpl etc mitliefern musst, aber exe und DLL sich diese teilen, kleiner werden und vor allem gleiche Klassen-Beschreibungen, globale Objekte etc haben.

Einfaches Beispiel :

Nimm mal das Application Objekt von der Exe und der DLL mit statischen runtime Bibliotheken und wirst sehen, dass es unterschiedliche sind. Bei dynamisch gelinkten sind diese gleich.
Im Ersten Fall hast Du auch das problem, dass TAction <> TAction ist, weil das für das programm 2 verschiedenen Klassen sind, eine Kopie in der exe, die andere in der DLL. Bei dynamisch gelinkten ist es in der BPL und somit gleich.
  Mit Zitat antworten Zitat