Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Eine Dll mit zwei Programmen nutzen

  Alt 19. Okt 2009, 17:32
In Delphi geht das nicht. In der PE-Datei kann für jede Section u.A. festgelegt werden, ob sie beschreibbar und ob sie ausführbar ist, aber auch, ob sie von verschiedenen DLL-Instanzen gemeinsam benutzt werden kann. Der Code einer DLL ist gewöhnlich ausführbar und wird gemeinsam verwendet, kann aber nicht beschrieben werden. Die Section mit den globalen Variablen nicht ausführbar, aber beschreibbar, und wird nicht gemeinsam verwendet, um die Daten zu trennen.

In C++ ist es sehr leicht, das Flag für gemeinsame Nutzung zu setzen; in Delphi ist das nicht möglich. Normalerweise verwendet man in Delphi stattdessen MMFs - das ist jedoch denkbar unelegant. Wenn der Datenaustausch jedoch der einzige Zweck der DLL ist, sind MMFs auch in C++ die bessere Variante - man spart sich die DLL komplett.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat