Steuern von Visual FoxPro über andere Anwendungen
Da Visual FoxPro sowohl als Server (mit Ebene 2-Entsprechung) als auch als Client arbeitet, können Anwendungen, die Automatisierung unterstützen, Instanzen von Visual FoxPro erstellen, Visual FoxPro-Befehle ausführen und auf Visual FoxPro-Objekte zugreifen.
Sie können in Visual FoxPro auch von Anwendungen aus arbeiten, die keine Automatisierung unterstützen, indem Sie Fpole.dll einbinden.
Sie steuern Visual FoxPro von anderen Anwendungen aus, indem Sie das Visual FoxPro-Anwendungsobjekt verwenden. Ein Anwendungsobjekt wird immer dann automatisch erstellt, wenn Visual FoxPro entweder direkt über DDE oder per Automatisierung gestartet wird.
Beispielsweise können Sie mit den folgenden Codezeilen in Visual Basic® oder in einem Microsoft Excel-Modul einen Verweis auf ein Visual FoxPro-Anwendungsobjekt erstellen:
Dim oFox as Object
Set oFox = CreateObject("VisualFoxPro.Application")
Nachdem der Verweis auf das Visual FoxPro-Anwendungsobjekt besteht, können Sie Methoden aufrufen, die mit dem Anwendungsobjekt verbunden sind, und über die Collection-Eigenschaften des Anwendungsobjekts auf andere Objekte zugreifen.
Methoden des Anwendungsobjekts
DataToClip | Help |
DoCmd | Quit |
Eval | RequestData |
Im folgenden Beispiel wird mit Code, der in Visual Basic für Applikationen geschrieben wurde, in einem Excel-Modul ein Visual FoxPro-Anwendungsobjekt erstellt, eine Visual FoxPro-Tabelle geöffnet und schließlich die Ergebnisse einer Abfrage zum aktiven Tabellenblatt hinzugefügt:
Sub FoxTest()
Dim oFox as Object
Set oFox = CreateObject("VisualFoxPro.Application")
oFox.DoCmd "USE customer"
oFox.DoCmd "SELECT contact, phone FROM customer
WHERE country = " + Chr$(39) + USA+ Chr$(39) + " INTO CURSOR cust"
oFox.DataToClip "cust",,3
Range("A1:B1").Select
ActiveSheet.Paste
End Sub
Das Visual FoxPro-Anwendungsobjektmodell
Ein Anwendungsobjekt wird immer dann automatisch erstellt, wenn Visual FoxPro entweder direkt über DDE oder per Automatisierung gestartet wird. Dieses Anwendungsobjekt ermöglicht Ihnen über die Collection-Eigenschaften Zugriff auf alle anderen während einer Visual FoxPro-Sitzung erstellten Objekte.
Visual FoxPro-Anwendungsobjektmodell
Zugreifen auf Objekte über die "Collection"-Eigenschaften
Dem Visual FoxPro-Anwendungsobjekt und allen Container-Objekten in Visual FoxPro ist eine Count-Eigenschaft und Collection-Eigenschaft zugeordnet. Die Collection-Eigenschaft ist ein Array, das auf jedes Objekt im Container verweist. Die Count-Eigenschaft ist eine numerische Eigenschaft, die die Anzahl der Objekte in einem Container angibt.
Die folgende Tabelle enthält die Objekte und die entsprechenden Eigenschaften Collection und Count.
Mit Hilfe dieser Eigenschaften können Sie eine programmgesteuerte Schleife zum Verwalten aller oder bestimmter Objekte verwenden. Beispielsweise stellt der folgende Code die Visible-Eigenschaft aller Formulare auf Wahr (.T.) ein.
FOR EACH Form IN Application.Forms
Form.Visible = .T.
ENDFOR
Siehe auch
Einteilen von Objekten in untergeordnete Klassen | Erstellen von Automatisierungsservern | Freigeben von Informationen und Hinzufügen von OLE | Fpole.dll | Verwenden von Remoteautomatisierung