Nach oben zu Menü Datei
Datei > Neu > Weitere > Multi-Tier > Externes Datenmodul
Mit dem Experten für externe Datenmodule erstellen Sie ein Datenmodul, auf das als Automatisierungsserver mit dualem Interface zugegriffen werden kann. Ein externes Datenmodul befindet sich in einer mehrschichtigen Datenbankumgebung im Anwendungsserver zwischen einem Client und einem Server.
Hinweis: Die Seite Multi-Tier steht nach dem Erstellen einer ActiveX-Bibliothek, die für ein externes Datenmodul erforderlich ist, zur Verfügung.
Element
|
Beschreibung
|
Name der CoClass
|
Geben Sie den Basisnamen für das Automatisierungs-Interface des externen Datenmoduls ein. Als Klassenname für Ihr externes Datenmodul (ein Nachkomme von TRemoteDataModule ) wird dieser Name mit einem vorangestellten T verwendet. Die Klasse implementiert ein Interface mit dem Namen der Basisklasse und einem vorangestellten I. Um Client-Anwendungen den Zugriff auf dieses Interface zu ermöglichen, weisen Sie der Eigenschaft ServerName der Verbindungskomponente der Client-Anwendung den hier angegebenen Namen der Basisklasse zu.
|
Beschreibung
|
Geben Sie den Text ein, der in der Registrierung neben der ProgID für das Anwendungsserver-Interface erscheint.
Der Beschreibungstext kann auch als Hilfetext für das Interface in der Typbibliothek dienen.
|
Threading-Modell
|
Wählen Sie aus diesem Kombinationsfeld aus, wie Client-Aufrufe an das Interface Ihres externen Datenmoduls übergeben werden sollen. Die folgende Tabelle enthält die möglichen Werte:
Wert
|
Bedeutung
|
Einfach
|
Das Datenmodul empfängt zu einem gegebenen Zeitpunkt jeweils nur eine Client-Anforderung. Da alle Client-Anforderungen von COM serialisiert werden, müssen Sie sich um das Threading nicht kümmern.
|
Apartment
|
Jede Instanz des externen Datenmoduls erhält zu einem gegebenen Zeitpunkt nur jeweils eine Client-Anforderung. Die DLL kann jedoch mehrere Anwendungen in getrennten Threads bearbeiten, wenn sie mehrere COM-Objekte erstellt. Instanzdaten sind sicher, aber Sie müssen Thread-Konflikte im globalen Speicher berücksichtigen.
|
Frei
|
Die Instanzen des externen Datenmoduls können in verschiedenen Server-Threads gleichzeitig mehrere Client-Anforderungen empfangen. Sie müssen sowohl die Instanzdaten als auch den globalen Speicher vor Konflikten schützen. Bei Verwendung von ADO-Datenmengen sollte immer dieses Modell eingesetzt werden.
|
Beides
|
Entspricht dem Modell "Frei", außer dass alle Callback-Funktionen zu Interfaces serialisiert werden.
|
Neutral
|
Mehrere Clients können das externe Datenmodul gleichzeitig in verschiedenen Threads aufrufen, aber COM stellt sicher, dass die Aufrufe nicht miteinander in Konflikt geraten. Sie müssen globale Daten und Instanzdaten, auf die von mehreren Interface-Methoden zugegriffen wird, vor Thread-Konflikten schützen. Das Modell steht nur unter COM+ zur Verfügung. In anderen Umgebungen wird für diese Option das Apartment-Modell eingesetzt.
|
|
Instantiierung
|
Wählen Sie aus diesem Kombinationsfeld den Aufrufmodus für die externe Datenmodulanwendung aus. Die folgende Tabelle enthält die möglichen Werte:
Wert
|
Bedeutung
|
Intern
|
Das externe Datenmodul wird in einem In-Process-Server erstellt. Wählen Sie diese Option, wenn ein externes Datenmodul als Teil einer aktiven Bibliothek (DLL) erstellt werden soll.
|
Eine Instanz
|
Für jede ausführbare Datei wird nur eine einzige Instanz des externen Datenmoduls erstellt. Jede Client-Verbindung ruft ihre eigene Instanz der ausführbaren Datei auf. Die Instanz des externen Datenmoduls ist deshalb ausschließlich einem einzelnen Client zugeordnet.
|
Mehrere Instanzen
|
Eine einzelne Instanz der Anwendung (Prozess) instantiiert alle externen Datenmodule, die für Clients erstellt wurden. Zwar wird jedes externe Datenmodul einer einzigen Client-Verbindung zugeordnet, aber alle Module nutzen denselben Prozessraum.
|
|
Ereignisunterstützung generieren
|
Mithilfe dieser Option kann ein eigenes Interface für die Verwaltung der Ereignisse implementiert werden.
|
Siehe auch