Übersicht über StoClien

Zweck

Der Hauptfokus des StoClien-Beispiels liegt darin, wie der Client strukturierten Speicher verwendet und eine Serverkomponente anweist, diesen Speicher zu verwenden. Das Beispiel "StoClien" veranschaulicht ein Programmiermodell strukturierter Speicherdienste.

Funktionalität

Die StoClien-Funktionalität ähnelt den "scribble"-Beispielen in einigen Versionen von Microsoft Visual C++. Der Unterschied zwischen dem Beispiel "StoClien" und dem Beispiel "StoServe" ist eine interne Architektur, die auf COM-Technologie basiert. Zwischen COM-Client und COM-Server wird eine klare architektonische Unterscheidung beibehalten.

StoClien lädt und speichert seine Zeichnungen im strukturierten Speicher von COM-Verbunddateien.

Im StoClien-Beispiel wird das verbindungsfähige COPaper-COM-Objekt erstellt und verwendet, das als CLSID _ DllPaper-Komponente auf dem StoServe-Server bereitgestellt wird. Der StoClien-Client erstellt ein COPaper-Objekt und steuert es über die IPaper-Schnittstelle, die das Objekt verfügbar macht. StoClien ruft Zeichnungsdaten vom Benutzer ab und stellt sie grafisch in einem von ihm verwalteten Fenster dar. StoClien verwendet die COPaper IPaper-Schnittstelle, um die Zeichnungsdaten in COPaper zu speichern und Dateispeichervorgänge an diese Daten weiterzuleiten.

Ein COPaper-COM-Objekt kapselt nur den serverbasierten Speicher der Zeichendokumentdaten: Auf serverseitiger Seite wird kein grafisches Benutzeroberflächenverhalten (GUI) bereitgestellt. Das gesamte GUI-Verhalten ist im Client isoliert. Die Datenverwaltungs- und Speicherfeatures von COPaper-Objekten sind nur über die benutzerdefinierte COM-Schnittstelle IPaper verfügbar.

StoClien arbeitet mit dem COPaper zusammen, um die COPaper-Zeichnungsdaten zu laden und zu speichern. StoClien ruft eine IStorage-Schnittstelle für das Speicherobjekt in einer Verbunddatei ab. In den Lade- und Speichervorgängen übergibt StoClien einen Zeiger auf die IStorage-Schnittstelle an COPaper auf dem Server. COPaper verwendet den bereitgestellten IStorage, um Streams im Speicher zu erstellen. COPaper kann dann die IStream-Standardschnittstelle zum Lesen und Schreiben der verwalteten Zeichnungsdaten verwenden.

COPaper verwaltet nur die Zeichnungsdaten. Es werden keine GUI-Aktionen ausgeführt. StoClien stellt die GRAFISCHE Benutzeroberfläche für die Zeichnungsanwendung bereit. Sie kapselt dies in einem zentralen CGuiPaper-C++-Objekt.

StoClien implementiert auch die benutzerdefinierte IPaperSink-Schnittstelle in einem COPaperSink-COM-Objekt und verbindet diese Schnittstelle mit einem geeigneten Verbindungspunkt im COPaper-Objekt des Servers. COPaper verwendet die verbundene IPaperSink-Schnittstelle, um Benachrichtigungen zurück an StoClien zu senden. Die normale GUI-Neuzeichnung der COPaper-Zeichnungsdaten erfolgt in StoClien mithilfe der copaper connectable object-Technologie.

StoClien ist eine Anwendung, die Sie auf normale Weise oder über das Eingabeaufforderungsfenster direkt ausführen können. StoClien akzeptiert einen optionalen Dateinamenparameter in der Befehlszeile.

Im folgenden Beispiel ist Drawing.pap eine Verbunddatei, die dllPaper-kompatible strukturierte Speicherung von Zeichnungsdaten enthält. Wenn kein Parameter für den Befehlszeilendateinamen angegeben ist, verwendet StoClien den Standarddateinamen "Stoclien.pap" und versucht, ihn im gleichen Verzeichnis wie die ausführende Stoclien.exe zu öffnen.

StoClien c: \ drawings \ drawing.pap

Supportinformationen

Weitere Informationen, funktionale Beschreibungen und ein Codetutorial für StoClienfinden Sie im Abschnitt Code Tour in Stoclien.htm. Weitere Informationen zum externen Benutzervorgang von StoClien finden Sie in den Abschnitten Nutzung und Vorgang in Stoclien.htm. Um Stoclient.htm zu lesen, führen Sie Tutorial.exe im Hauptverzeichnis des Tutorials aus, und klicken Sie in der Lektionstabelle auf die Lektion "StoClien". Klicken Sie alternativ auf Stoclien.htm, nachdem Sie das Hauptverzeichnis des Tutorials in Windows Explorer gesucht haben. Weitere Informationen zur Funktionsweise von StoServe und zur Verfügbar gemachten Dienste für StoClien finden Sie unter Stoserve.htm im Hauptverzeichnis des Tutorials. Beachten Sie, dass Sie die Stoserve.dll erstellen müssen, bevor Sie StoClien erstellen. Das Makefile für StoServe registriert diesen Server in der Systemregistrierung. Daher müssen Sie StoServe erstellen, bevor Sie versuchen, StoClien auszuführen.

Weitere Informationen zum Einrichten eines Systems zum Erstellen und Testen der Codebeispiele in dieser COM-Tutorialreihe finden Sie unter How to Build Samples. Das angegebene Makefile (MAKEFILE) ist Microsoft NMAKE-kompatibel. Um einen Debugbuild zu erstellen, stellen Sie den NMAKE-Befehl im Eingabeaufforderungsfenster aus.

Der Einfachheit halber wird für jedes Beispiel eine Projektdatei für die Verwendung in Microsoft Visual Studio bereitgestellt. Führen Sie Visual Studio an der Eingabeaufforderung im Beispielverzeichnis wie folgt aus, um das Projekt für das Beispiel "StoClien" zu laden:

MSDEV STOCLIEN. DSP

Sie können auch in Windows Explorer auf die Datei "Stoclient.dsp" doppelklicken, um ein Beispielprojekt in Visual Studio zu laden. In Visual Studio können Sie die C++-Klassen der Beispielquelle durchsuchen und im Allgemeinen die anderen Edit-Compile-Debug-Vorgänge ausführen. Beachten Sie, dass im Rahmen des Server SDK die Kompilierung dieser Beispiele aus Visual Studio die ordnungsgemäße Einstellung von Verzeichnispfaden in Visual Studio erfordert. Weitere Informationen finden Sie unter How to Build Samples.

Bemerkungen

Das Clientbeispiel und andere zugehörige Beispiele müssen kompiliert werden, bevor Sie den Client ausführen können. Weitere Informationen zum Erstellen der Beispiele finden Sie unter Erstellen von Beispielen. Wenn Sie die entsprechenden Beispiele erstellt haben, ist Stoclien.exe die ausführbare Clientdatei, die für dieses Beispiel ausgeführt werden soll.

Die Stoclien.exe-Anwendung stellt die Benutzeroberfläche für dieses Tutorial bereit. Sie führt die zugeordneten, aber unabhängigen Stoserve.dll aus, um sowohl die Client- als auch die Servernutzung des strukturierten COM-Speichers in Verbunddateien zu veranschaulichen.