Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Strings in DLL (keine Übergabe)

  Alt 21. Dez 2011, 18:14
DLL und EXE sind im Grunde erstmal beises ganz normale Executables.

Alles was du innerhalb der EXE machen kannst, kannst du auch innerhalb der DLL machen.


OK, mit der VCL muß man aufpassen, denn die DLL wird ja im Thread der EXE geladen, würde somit auch im Thread der EXE starten.
Aber wenn man 2 "getrennte" VCLs im selben Thread laufen läßt, dann kommen sie sich schnell in die Quere und Probleme sind vorprogrammiert.
PS: Die VCL arbeitet über Messages und wenn bei VCLs im selben Threadcontext arbeiten, landen unweigerlich Messages in der "falschen" Messageloop der anderen VCL-Instanz und damit würde die falsche Instanz nun die Messages verarbeiten.


Solange aber Strings und Objekte nicht die Grenze zwischen DLL und EXE über queren, gibt es keinerlei Probleme.
Man kann den String problemlos in einen PChar casten und bergeben ... in diesem Fall wird die Speicherverwaltung übergangen und somit kommt nicht der falsche Speichermanager, bzw. die String-Speicherwaltung, nicht mit einem ihr nicht gehörenden Sring in Berührung.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat