![]() |
Eine Dll mit zwei Programmen nutzen
Hallo,
Wie schaffe ich es eine dll zu erzeugen, die nur einmal im Speicher ist, obwohl sie von 2 Programmen geladen wird. Damit meine ich auch das alle Variablen etc. nur einmal existieren, sodass die Programme über die dll praktisch Daten austauschen können. Wikipedia sagt dazu Folgendes: Zitat:
Ich hoffe Ihr könnt mir helfen. Viele Grüße, Tobi |
Re: Eine Dll mit zwei Programmen nutzen
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz