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.