So erstellen Sie einen DCOM-Client/Server mit Ereignissen mithilfe von Visual Basic

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 267836 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt, wie erstellen, Paket, und Bereitstellen einer DCOM (Distributed Component Object Model)-Client-Server-Anwendung mit Ereignissen in Visual Basic. Erstellen einer DCOM-Client-Server-Anwendung müssen Sie die Enterprise Edition von Visual Basic. Wird Microsoft vorausgesetzt, dass der Reader bereits ist mit dem Erstellen von Client-Server-Anwendungen mit Ereignissen, die auf demselben Computer ausgeführt vertraut.

Weitere Informationen

Sie müssen den Code eine Clientanwendung einen Remoteserver unter Verwendung von DCOM instanziieren ermöglichen ändern. Der Unterschied ist die Möglichkeit in der Paket und den Client bereitstellen. Darüber hinaus sind einige Sicherheitseinstellungen, die müssen Sie, nachdem der Client und dem Server installiert sind. Sie können diese Einstellungen vornehmen, mithilfe eines Dienstprogramms DCOMCNFG aufgerufen. Insbesondere, wenn Ihr Server Ereignisse auslöst, sind nicht nur wichtige Einstellungen des Servers, aber der Client diejenigen zu werden.

Die folgenden Schritte zeigen Sie zum Verteilen und Konfigurieren einer einfachen Client/Server-Anwendung. Rufen Sie den Server DCOMDemoEvents_Svr und der Client DCOMDemoEvents_Cli. Erstellen Sie einen separaten Ordner für jede dieser, und name für den Zweck der in diesem Artikel, den Ordner c:\DCOMDemoEvents\Server und c:\DCOMDemoEvents\Client.

Erstellen Sie den Server

  1. Starten Sie ein neues Visual Basic-Projekt. Wählen Sie in das Dialogfeld Neues Projekt ActiveX-EXE-Datei und klicken Sie dann auf Öffnen . Jetzt wird standardmäßig "Class1" erstellt.
  2. Fügen Sie den folgenden Code hinzu Modul Class1:
    Option Explicit
    
    Public Event TimeUpdate(sTime As String)
    
    Public Sub CallMeBack()
        RaiseEvent TimeUpdate(Time())
        
    End Sub
    
    Public Function ServerTime() As String
        
        ' this method was included just in case we need
        ' to test a method without call back.
        ServerTime = Time
        
    End Function
    					
  3. Klicken Sie auf im Menü Projekt auf die Option Eigenschaften .
  4. Wählen Sie die Registerkarte Allgemein .
  5. Geben Sie im Feld Projektname DCOMDemoEvents_Svr .
  6. Geben Sie im Feld Projekt Beschreibung DCOMDemoEvents_Svr - Server .
  7. Wählen Sie die Komponenten -Registerkarte, und wählen Sie dann die Option Remote-Dateien .

    Hinweis : Auswählen dieser Option stellt Visual Basic-Compiler generieren die VBR und TLB-Dateien für das Verpacken der Clientanwendungen, die dieser Server benötigt. Die Dateien enthalten Registrierungseinträge, die auf dem Client-Computer enthalten sein müssen.
  8. Schließen Sie das Dialogfeld Projekteigenschaften .
  9. Im Menü Datei Wählen Sie die Option Speichern unter , und speichern dann dieses Projekt in den Ordner c:\DCOMDemoEvents\Server.
  10. Wählen Sie DCOMDemoEvents_Svr erstellen im Menü Datei und kompilieren Sie den Server.
  11. Im Menü Projekt die Option Eigenschaften oder aktivieren Sie die Registerkarte Komponente . Auf Komponenten Registerkarte, wählen Versionskompatibilität , wählen Sie die Option Binär-Kompatibilität und anschließend stellen erstellt der Projekt-Binärdatei kompatibel mit der ausführbaren Datei des Servers Sie einfach (DCOMDemoEvents_Svr.exe). Indem Sie diese Option, um Sie sind, die alle GUIDs sicherzustellen bleiben gleich, wenn Sie den Server neu kompilieren.

Erstellen des Clients

  1. Im Menü Datei die Option Neues Projekt , wählen Sie Standard aus und klicken Sie auf OK . Form1 wird standardmäßig erstellt.
  2. Im Menü Projekt klicken Sie auf die Option Eigenschaften , und wählen Sie dann die Registerkarte Allgemein .
  3. Geben Sie im Feld Projektname DCOMDemoEvents_Cli .
  4. Geben Sie im Feld Projekt Beschreibung DCOMDemoEvents_Cli Projekt - Client , und klicken Sie dann auf OK , um das Dialogfeld Eigenschaften zu schließen.
  5. Im Menü Projekt Wählen Sie Verweise und fügen Sie einen Verweis auf DCOMDemoEvents_Svr - Server .
  6. Fügen Sie im Deklarationsabschnitt von Form1 die folgende Zeile:
    Dim WithEvents MyEventObj As DCOMDemoEvents_Svr.Class1
    					
    diese das Serverobjekt mit Ereignissen deklariert. Nach der Eingabe in dieser Zeile, sollte MyEventObj in der Liste der Objekte für dieses Formular angezeigt werden. Die Liste der Objekte des Formulars befindet sich in der oberen linken Kombinationsfeld im Codemodul des Formulars.

  7. Wählen Sie aus der Liste der Objekte des Formulars MyEventObj . Die leere wird Sub MyEventObj_TimeUpdate erstellt. Geben Sie die folgende Codezeile:
    MsgBox "Event from Server received. Time=" & sTime
    					
  8. Versehen Sie Form1 mit einer Befehlsschaltfläche, und ändern Sie die Beschriftung der Schaltfläche zum Ausführen von mit Ereignissen .
  9. Setzen Sie den folgenden Code in der Schaltfläche click-Ereignis:
        On Error GoTo err1
        
        Set MyEventObj = CreateObject("DCOMDemoEvents_Svr.Class1")
        MyEventObj.CallMeBack
        Exit Sub
    
    err1:
        MsgBox "Error: " & Err.Number & " - " & Err.Description
    					
  10. Fügen Sie eine zweite Befehlsschaltfläche auf Form1, und ändern Sie die Beschriftung der Schaltfläche Ausführen ohne Ereignisse .
  11. Setzen Sie den folgenden Code in der Schaltfläche click-Ereignis:
        Dim MyObj As DCOMDemoEvents_Svr.Class1
        
        On Error GoTo err1
        
        Set MyObj = CreateObject("DCOMDemoEvents_Svr.Class1")
        MsgBox "Server time without events: " & MyObj.ServerTime
        Exit Sub
    err1:
        MsgBox "Error: " & Err.Number & " - " & Err.Description
    					
  12. Nachdem Sie dies getan haben, des Formulars Code sieht wie folgt:
    Option Explicit
    Dim WithEvents MyEventObj As DCOMDemoEvents_Svr.Class1
    
    Private Sub Command1_Click()
    
        On Error GoTo err1
        
        Set MyEventObj = CreateObject("DCOMDemoEvents_Svr.Class1")
        MyEventObj.CallMeBack
        Exit Sub
    err1:
        MsgBox "Error: " & Err.Number & " - " & Err.Description
           
    End Sub
    
    Private Sub Command2_Click()
        Dim MyObj As DCOMDemoEvents_Svr.Class1
        
        On Error GoTo err1
        
        Set MyObj = CreateObject("DCOMDemoEvents_Svr.Class1")
        MsgBox "Server time without events: " & MyObj.ServerTime
        Exit Sub
    err1:
        MsgBox "Error: " & Err.Number & " - " & Err.Description
        
    End Sub
    
    Private Sub MyEventObj_TimeUpdate(sTime As String)
        MsgBox "Event from Server received. Time=" & sTime
    
    End Sub
    					
  13. Menü Datei Wählen Sie die Option Speichern unter und speichern Sie dann zum Ordner des Clients, das Projekt c:\DCOMDemoEvents\Client.
  14. Drücken Sie die F5-TASTE, um den Client in der IDE auszuführen und testen. Bedenken Sie, dass dieser Test lokal auf dem Entwicklungscomputer an dieser Stelle sind. Es wird die lokale ActiveX-EXE-ausgeführt.
  15. Im Menü Datei Wählen Sie Als DCOMDemoEvents_Cli zum Kompilieren des Clients und schließen Sie Visual Basic.

Der Server-Paket

Verwenden Sie die Paket und Einsatz-Assistenten, um den Server für Verteilerlisten wie gewohnt zu verpacken. Der Server wird von einem remote über DCOM Client instanziiert. Beim Erstellen des Pakets für Ihren Server, erhalten Sie ein Dialogfeld aufgefordert werden, wenn dieser Server als Server Remote-Automatisierung verwendet werden und wenn Unterstützung für diesen Zweck Includedateien werden sollen. Klicken Sie einfach auf Nein , da DCOM nicht Remoteautomatisierung ist. Die Remoteautomatisierung ist eine ältere Technologie der von DCOM ersetzt wurde.

Der Client-Paket

Beim Packen des Clients sind einige spezifische Schritte, die ausgeführt werden, müssen berücksichtigen, dass der Server nicht auf demselben Computer wie der Client ausgeführt wird. Die Änderungen an den Client-Paket gewährleistet, dass nur die Typ-Bibliothek (TLB-Datei) installiert ist und einige zusätzliche Registrierungseinträge anstelle der ausführbaren Datei des Servers auf dem Clientcomputer enthalten sind. Sie müssen nicht des Servers ausführbare Datei in der Clientcomputer installiert werden, da er nicht ausgeführt werden.

Packen Sie den Client folgendermaßen:
  1. Starten Sie der Paket- und Weitergabe-Assistent, und wählen Sie die Client-Projekt. Klicken Sie auf Paket .
  2. Wählen Sie im Dialogfeld Paket Typ Standardmäßiges Setup-Paket aus , und klicken Sie dann auf Weiter .
  3. Wählen Sie im Dialogfeld Paket Ordner den Ordner, in denen das Paket gespeichert ist, und klicken Sie dann auf Weiter. In diesem Fall ist es c:\DCOMDemoEvents\Client\Package.

    Hinweis : Sie erhalten möglicherweise ein Dialogfeld, dass keine Abhängigkeitsinformationen für Ihren Server ist. Klicken Sie auf OK , da Ihr Server alle Abhängigkeiten vorhanden ist.

    Sie sollten jetzt im Dialogfeld Dateien enthalten sein.

    Deaktivieren Sie die ausführbare Datei, DCOMDemoEvents_Svr.exe) des Servers. Sie möchten nicht ausführbare Datei des Servers zu verteilen.
  4. Klicken Sie auf die Schaltfläche Hinzufügen , und ändern Sie das Kombinationsfeld Dateityp in Remote-Dateien (*.vbr) .
  5. Zeigen Sie auf den Ordner, in denen Sie Ihre Servers Projekt, in diesem Fall c:\DCOMDemoEvents\Server und wählen Sie dann die zugehörigen VBR-Datei DCOMDemoEvents_Svr.VBR haben.
  6. Klicken Sie auf Öffnen und Datei hinzufügen Dialogfeld Feld schließt. Beachten Sie, dass zwei Dateien enthalten sind, DCOMDemoEvents_Svr.VBR und DCOMDemoEvents_Svr.TLB. Klicken Sie auf Weiter .
  7. Legen Sie im Dialogfeld Remoteserver den Namen des Computers (NET Adresse), wobei der Server ausgeführt wird.

    In der Regel beibehalten Sie dieses Feld leer, weil Sie nicht im Voraus wissen können, in denen der Server installiert ist. Wenn es leer bleibt, werden Sie dafür aufgefordert, wenn Sie den Client installieren. In diesem Beispiel halten Sie es leer.

    Klicken Sie auf Weiter , um fortzufahren. Sie können nun mit den standardmäßigen Verfahren für das Paket und Einsatz-Assistenten fortfahren. Klicken Sie in unserem Beispiel auf alle verbleibenden Dialogfelder auf Weiter .

Installieren Sie den Server

Installieren des Servers auf dem Computer, auf dem Sie ausführen möchten, das zuvor erstellte Verteilungspaket verwenden. Wenn Sie Ihrem Entwicklungscomputer verwenden, um den Server auszuführen möchten, müssen Sie nicht installiert werden, da Visual Basic die Registrierung für Sie, ermöglicht Wenn es den Server kompiliert.

Installieren des Clients

Installieren Sie auf dem Computer auf dem Sie ausführen möchten, das zuvor erstellte Verteilungspaket verwenden den Client. Da dieser Client einen DCOM-Server verwendet, und Sie den tatsächlichen Standort des Servers gelassen Wenn Sie das Verteilungspaket erstellen, müssen Sie an diesem Speicherort. Wenn Sie aufgefordert Setup für diesen Standort werden, geben Sie den Namen des Computers, auf dem Server installiert.

Festlegen der Serversicherheit

Wenn Sie den Server auf einem Computer unter Microsoft Windows NT oder Microsoft Windows 2000 installiert haben, müssen Sie es Konfigurieren der Sicherheit. Dazu verwenden DCOMCNFG, wie in den folgenden Schritten dargestellt, in dem setzen voraus, dass sowohl Client-als auch Computer Teil einer Domäne befinden und dem Client-Computer angemeldeten Benutzers als Domänenbenutzer angemeldet ist. Die vorgeschlagenen Einstellungen sind nur eine mögliche Konfiguration. Sie sind sehr allgemeine und breit Zugriff auf den Server gewähren. Beachten Sie, dass dies nur ein Beispiel. Wenn Sie Ihren realen Anwendungen bereitstellen und Sicherheit für Ihre Umgebung spielt, sollten Sie restriktivere Optionen auswählen. Auch wenn der Computer zum Testen dieser Beispiel-Server zum Ausführen von anderen Servern verwendet wird, notieren der aktuellen Einstellungen, bevor Sie die folgenden Änderungen vor, und die ursprünglichen Einstellungen wieder, sobald Sie Ihre Tests abgeschlossen sind.
  1. Klicken Sie auf dem Servercomputer auf die Schaltfläche Start , und wählen Sie Ausführen . Geben Sie im Dialogfeld Ausführen DCOMCNFG , und klicken Sie dann auf OK . Sie müssen über Administratorrechte, um DCOMCNFG ausführen zu können.
  2. Wählen Sie die Registerkarte Standardeigenschaften , und stellen Sie sicher, dass DCOM (Distributed COM) auf diesem Computer aktiviert ist.
  3. Legen Sie die Standard-Authentifizierungsebene auf Verbinden , und legen Sie die Standardidentitätswechselebene zu identifizieren .
  4. Wählen Sie die Registerkarte Standardsicherheit .
  5. Klicken Sie auf die Schaltfläche Standard bearbeiten der Standardzugriffsberechtigungen Bereich.
  6. Überprüfen Sie, ob jeder und in der Liste zulassen Zugriffsrechte aufgenommen wurden. Wenn Sie nicht sind, können Sie die Schaltfläche Hinzufügen , um Sie der Liste hinzuzufügen. Klicken Sie auf OK , wenn die Liste abgeschlossen ist.
  7. Klicken Sie auf die Schaltfläche Standard bearbeiten Standardstartberechtigungen Bereich.
  8. Überprüfen Sie, dass jeder und in der Liste mit Allow Launch Berechtigungen aufgenommen wurden. Ist dies nicht der Fall, verwenden Sie die Hinzufügen -Schaltfläche, um Sie der Liste hinzuzufügen. Klicken Sie auf OK , wenn die Liste abgeschlossen ist.
  9. Wählen Sie die Anwendungen -Registerkarte, markieren Sie den Server DCOMDemo_Svr.Class1, und klicken Sie dann auf die Schaltfläche Eigenschaften .
  10. Wählen Sie die Registerkarte Allgemein , legen Sie die Authentifizierungsebene auf Standard und wählen Sie dann die Registerkarte Speicherort . Die einzige Option überprüft sollte kein Anwendung auf diesem Computer ausführen .
  11. Wählen Sie die Registerkarte Sicherheit und stellen Sie sicher, dass Standard-Zugriffsberechtigungen verwenden und die Optionen verwenden standardmäßig starten Berechtigungen aktiviert sind.
  12. Wählen Sie die Registerkarte Identität , aktivieren Sie der startende Benutzer Option, klicken Sie auf OK , um das Dialogfeld Eigenschaften des Servers zu schließen und klicken Sie dann auf OK um DCOMCNFG zu schließen. Wie Sie sehen können, verwendet der Testserver alle die Standardeinstellungen. Wenn Sie Ihre eigenen Server bereitstellen, sollten Sie bestimmte Einstellungen für Ihre Anwendung definieren. Alle benutzerdefinierte Einstellungen haben Vorrang vor der Standardkonfigurationen.

    Sie können nun Ihren Server zu testen. Starten Sie auf dem Clientcomputer den Client und klicken Sie auf die Schaltfläche Ausführen . Es sollte ein Meldungsfeld angezeigt, die Serverzeit angezeigt werden. Wenn Sie zum Testen dieses Beispiels erfolgreich finden Sie im Problembehandlung Artikel Q269330, nicht im Abschnitt "Informationsquellen" aufgeführt.

Festlegen der Clientsicherheit

Da der DCOM-Server Ereignisse verfügbar, die die Clientanwendung nutzt macht, müssen Sie auf dem Clientcomputer damit der Server Rückrufe an den Client vornehmen kann auch DCOM-Berechtigungen festlegen. Wenn Ihre DCOM-Server keine Ereignisse verfügbar macht oder Ihrer Clientanwendung mich Ereignisse belegen nicht, müssen Sie diese Schritt durchführen.
  1. Klicken Sie auf dem Clientcomputer auf Start , und klicken Sie dann auf Ausführen .
  2. Geben Sie im Dialogfeld Ausführen DCOMCNFG , und klicken Sie dann auf OK .

    Führen Sie DCOMCNFG müssen Sie Administratorrechte.
  3. Klicken Sie auf die Registerkarte Standardeigenschaften , und stellen Sie sicher, dass DCOM (Distributed COM) auf diesem Computer aktiviert ist.
  4. Die Standardmäßige Authentifizierungsebene Verbindung festgelegt, und legen Sie die Standardidentitätswechselebene identifizieren .
  5. Klicken Sie auf die Registerkarte Standardsicherheit .
  6. Klicken Sie auf die Schaltfläche Standard bearbeiten der Standardzugriffsberechtigungen Bereich.
  7. Überprüfen Sie, ob jeder und mit Zugriff zulassen in der Liste aufgenommen wurden. Wenn Sie nicht in der Liste enthalten sind, verwenden Sie die Schaltfläche Hinzufügen , um Sie zu der Liste hinzuzufügen. Klicken Sie auf OK , wenn die Liste abgeschlossen ist.

Informationsquellen

Weitere Informationen zu DCOM Client/Server-Anwendungen finden Sie folgenden Artikel der Microsoft Knowledge Base:
266717So erstellen Sie die Anwendung eine DCOM-Client-Server mithilfe von Visual Basic
268550Verwendung von DCOMCNFG für eine Visual Basic DCOM Client-Server-Anwendung
182248Verwendung von DCOMCNFG (Dcomcnfg.exe) mit Windows 95 und Windows 98
269330Problembehandlung bei DCOM für Visual Basic-Client-Server-Anwendungen
183607Gewusst wie: Konfigurieren von DCOM für Visual Basic verwenden DCOMCNFG.exe

Eigenschaften

Artikel-ID: 267836 - Geändert am: Dienstag, 29. Juni 2004 - Version: 3.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
Keywords: 
kbmt kbdevsecurity kbdcom kbhowto KB267836 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 267836
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com