Übergabe von Arrays
Mit Hilfe der neuen Visual FoxPro-Funktion COMARRAY( ) können Sie angeben, wie ein Array an einen Automatisierungsserver übergeben wird und ob das Array auf 0 oder 1 basiert.
In früheren Versionen von Visual FoxPro wurden Arrays als Wert an COM-Objekte (z. B. Automatisierungsserver, die in Visual FoxPro, Visual Basic oder Visual C++ erstellt wurden) übergeben; die Arrayelemente waren nach einem Methodenaufruf unverändert, und die vom COM-Objekt vorgenommenen Änderungen wurden nicht an die Elemente auf dem Client weitergegeben. Durch diese Beschränkung wurde die Übergabe großer Datenmengen zwischen Visual FoxPro und COM-Objekten verhindert.
Es wird davon ausgegangen, dass das an das COM-Objekt übergebene Array auf 1 basiert, d. h., auf das erste Element, die erste Zeile oder Spalte im Array wird mit 1 verwiesen (z. B. Myarray[1]). Für einige COM-Objekte ist es jedoch erforderlich, dass das übergebene Array auf 0 basiert (d. h., auf das erste Element, die erste Zeile oder Spalte wird mit 0 verwiesen, z. B. Myarray[0]).
Anmerkung COMARRAY( ) wird nur dann verwendet, wenn die Übergabe von Arrays an COM-Objekte mit Hilfe der folgenden Syntax erfolgt:
oComObject.Method(@MyArray)
Wird das @-Token nicht angegeben, wird nur das erste Element des Arrays an das COM-Objekt übergeben, und COMARRAY( ) hat keine Wirkung. Dieses Verhalten entspricht dem Verhalten in früheren Versionen von Visual FoxPro.
Siehe auch
Interoperabilität und das Internet | Kompilieren von Quellcode | COMARRAY( )