Erstellen eines aktiven Dokuments
Ein aktives Visual FoxPro-Dokument ist eine von einem Visual FoxPro-Projekt erstellte Anwendung (APP). Frühere Versionen von Visual FoxPro ermöglichten Ihnen den Setup von Anwendungen, so dass Sie vielleicht bereits damit vertraut sind. Weitere Informationen zum Erstellen von Anwendungen finden Sie unter Kompilieren einer Anwendung.
Jede Anwendung kann in Internet Explorer ausgeführt werden. Allerdings unterstützen nur Anwendungen, die auf der im folgenden beschriebenen ActiveDoc-Basisklasse basieren, Eigenschaften, Ereignisse und Methoden zur Kommunikation mit Hosts aktiver Dokumente. Aktive Visual FoxPro-Dokumente sind einfach zu erstellen.
Die ActiveDoc-Basisklasse
Für die "Hauptdatei" eines aktiven Dokuments muss eine auf der ActiveDoc-Basisklasse basierende Klasse festgelegt werden. Andere Anwendungstypen verlangen, dass die Hauptdatei ein Programm oder ein Formular ist.
Die ActiveDoc-Basisklasse, die mit dem Klassen-Designer erstellt wird, stellt Eigenschaften, Ereignisse und Methoden für ein aktives Dokument zur Verfügung und ermöglicht die Kommunikation mit dem Host des aktiven Dokuments. Beispielsweise tritt das ContainerRelease-Ereignis auf, wenn ein aktives Dokument von seinem Host freigegeben wird. Sie können im ContainerRelease-Ereignis Code unterbringen, um Dateien zu schließen, Transaktionen abzuschließen und andere Aufräumarbeiten zu erledigen, bevor das aktive Dokument freigegeben wird.
So setzen Sie die Hauptdatei auf eine auf der ActiveDoc-Basisklasse basierende Klasse
- Fügen Sie die Bibliothek visueller Klassen (VCX), die die auf der ActiveDoc-Basisklasse basierende Klasse enthält, zum Projekt hinzu.
- Erweitern Sie die Bibliothekshierarchie der visuellen Klassen (VCX) durch Klicken auf das Pluskästchen (+) links des Bibliotheksnamens oder klicken Sie mit der rechten Maustaste auf die Bibliothek, und wählen Sie Alle expandieren aus dem Kontextmenü.
- Klicken Sie mit der rechten Maustaste auf die ActiveDoc-Klasse, und wählen Sie im Kontextmenü den Befehl Hauptdatei.
Das ActiveDoc-Objekt
Wenn Sie ein aktives Visual FoxPro-Dokument in Internet Explorer öffnen, wird ein ActiveDoc-Objekt auf Grundlage der ActiveDoc-Basisklasse erstellt. Das ActiveDoc-Objekt antwortet auf Ereignis- und Methodenaufrufe für die ActiveDoc-Basisklasse.
Eigenschaften, Ereignisse und Methoden des ActiveDoc-Objekts
Die folgende Tabelle zeigt eine Liste der vom ActiveDoc-Objekt unterstützten Eigenschaften, Ereignisse und Methoden.
Eigenschaften
BaseClass | Caption | Class |
ClassLibrary | Comment | ContainerReleaseType |
Name | Parent | ParentClass |
Tag |
Ereignisse
CommandTargetExec | CommandTargetQuery | ContainerRelease |
Destroy | Error | HideDoc |
Init | Run | ShowDoc |
Methoden
AddProperty | ReadExpression | ReadMethod |
ResetToDefault | SaveAsClass | WriteExpression |
Ereignisfolgen aktiver Dokumente
Wenn eine Active Document-Anwendung in Internet Explorer geöffnet wird, wird das aktive Dokument ausgeführt, und das Init-Ereignis des aktiven Dokuments tritt gefolgt vom ShowDoc-Ereignis ein. Wenn Internet Explorer erfolgreich als Host des aktiven Dokuments agiert, tritt das Run-Ereignis des aktiven Dokuments ein. Normalerweise sollte der Programmcode des aktiven Dokuments in diesem Ereignis enthalten sein. Typischerweise enthält das Run-Ereignis Code, der den Menü-Code und das Hauptformular der Anwendung ausführt und READ EVENTS zum Starten der Ereignisbearbeitung enthält, ganz wie eine standardmäßige Visual FoxPro-Anwendung.
Sie können Setup-Code in das Init-Ereignis des aktiven Dokuments aufnehmen. Wenn die Ausführung des Codes jedoch zu viel Zeit in Anspruch nimmt, erzeugt der Container des aktiven Dokuments möglicherweise einen Timeoutfehler. Wenn Sie Setupcode in das Init-Ereignis einfügen, sollte es kein Eingreifen des Benutzers erfordern oder eine Benutzeroberfläche erzeugen.
Das HideDoc-Ereignis tritt auf, wenn Sie aus einem aktiven Dokument hinaus navigieren, das ShowDoc-Ereignis tritt auf, wenn Sie zum aktiven Dokument zurück navigieren.
Falls Internet Explorer geschlossen wird, während das Programm als Host des aktiven Dokuments agiert, tritt das HideDoc-Ereignis gefolgt vom ContainerRelease-Ereignis ein. Das ContainerRelease-Ereignis tritt auch auf, falls das aktive Dokument aus dem Zwischenspeicher von Internet Explorer 3.0 entfernt wird.
Wenn das ContainerRelease-Ereignis auftritt, kann der Programmcode im Ereignis Folgendes tun:
Dateien schließen, aufräumen und ein QUIT absetzen, um das aktive Dokument zu schließen.
Die ContainerReleaseType-Eigenschaft auf 0 (Standardeinstellung) festlegen, wodurch das aktive Dokument in der Visual FoxPro-Laufzeitumgebung geöffnet wird. Das aktive Dokument wird weiterhin im Visual FoxPro-Hauptfenster der Laufzeitumgebung ausgeführt.
Anmerkung Das CommandTargetExec-Ereignis tritt ein, wenn Internet Explorer 4.0 das aktive Dokument schließen oder vom aktiven Dokument aus zu anderen Inhalten wechseln möchte. In diesen Fällen wird für den nCommandID-Parameter des CommandTargetExec-Ereignisses der Wert 37 festgelegt, und Sie können den eArgOut-Parameter auf Falsch (.F.) festlegen, um zu verhindern, dass das aktive Dokument von Internet Explorer geschlossen wird. Das CommandTargetExec-Ereignis wird nur von Internet Explorer 4.0 und höher unterstützt.
Neue Funktionen für aktive Dokumente
Mit Hilfe der beiden neuen Visual FoxPro-Funktionen GETHOST( ) und ISHOSTED( ) werden Informationen zum Host des aktiven Dokuments bereitgestellt. GETHOST( ) gibt einen Objektverweis auf den Host eines aktiven Dokuments zurück. ISHOSTED( ) gibt einen logischen Wert zurück, der angibt, ob sich ein aktives Dokument in einem Host befindet.
Siehe auch
Aktive Dokumente | Formulare in aktiven Dokumenten | Interoperabilität und das Internet | Kompilieren einer Anwendung | Menüs in aktiven Dokumenten | Ausführen aktiver Dokumente