Einzelnen Beitrag anzeigen

tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
131 Beiträge
 
Delphi XE Professional
 
#7

AW: Strings in DLL (keine Übergabe)

  Alt 22. Dez 2011, 06:32
Danke für die ausführliche Antwort. Jetzt ist einiges klarer
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.
  Mit Zitat antworten Zitat