Einzelnen Beitrag anzeigen

tobif

Registriert seit: 11. Jul 2003
27 Beiträge
 
#1

Eine Dll mit zwei Programmen nutzen

  Alt 19. Okt 2009, 17:22
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:
Es gibt zwei verschiedene Arten, wie DLLs vom Betriebssystem in den Speicher geladen werden. Es gibt statische DLLs, die nur einmal geladen werden. Alle Programme greifen dann auf diese eine Instanz der DLL zu. Diese DLL hat dann nur einen globalen Speicherbereich. Die Windows-Kernel-DLLs sind solche statischen DLLs, was ihnen erlaubt, das gesamte System zu verwalten (z. B. alle offenen Dateien zu überwachen). Die andere Art, wie eine DLL im Speicher verwaltet werden kann, ist die, dass jedes mal wenn ein neues Programm sie benötigt, auch eine neue Instanz von ihr in den Speicher geladen wird. Ob eine DLL statisch oder nicht ist legt ein weiteres Flag im Header der DLL fest.
Leider weis ich nicht wie das in Delphi funktioniert.

Ich hoffe Ihr könnt mir helfen.

Viele Grüße,

Tobi
  Mit Zitat antworten Zitat