COMPROP( )-Funktion
Legt die Einstellung für das Verhalten einer Eigenschaft eines COM-Objekts fest oder gibt diese zurück.
COMPROP(oCOMObject, cProperty [, eValue])
Rückgabetypen
Wert von cProperty.
Parameter
oCOMObject
Gibt einen Verweis auf ein COM-Objekt an.cProperty
Gibt den Namen der COM-Eigenschaft an, die eingestellt werden soll. In der folgenden Tabelle finden Sie mögliche Werte für cProperty:cProperty Beschreibung UTF8 Legt fest, ob UNICODE-Zeichenfolgen, die von einem COM-Objekt zurückgegeben werden, in ANSI konvertiert werden. Die Konvertierung erfolgt standardmäßig. PUTREF Legt fest, ob die ursprüngliche Objektzuweisung PROPERTY_PUT (Standard) oder PROPERTY_PUTREF lautet. eValue
Gibt den Wert an, der für cProperty angewendet werden soll. Verwenden Sie 0, um das Standardverhalten anzugeben und 1, um ein anderes Verhalten (Nicht-Standard) aus der Beschreibung der obenstehenden Tabelle zu cProperty festzulegen.
Hinweise
Sie müssen den Namen des COM-Objekts vollständig eingeben. Wenn Sie eValue nicht angeben, dann gibt COMPROP( ) den Wert von cProperty zurück. Für cProperty braucht die Groß-/Kleinschreibung nicht beachtet zu werden.
Wird für eValue der Wert 1 für UTF8 festgelegt, wird damit verhindert, dass Multibyte-Zeichen als Fragezeichen angezeigt werden.
Wird für eValue der Wert 1 für PUTREF festgelegt, versucht Visual FoxPro, die Objektzuordnung zuerst als PROPERTY_PUTREF. Wenn das fehlschlägt, wird die Zuordnung als PROPERTY_PUT versucht. Für Objektzuweisungen zu Eigenschaften von einigen ActiveX-Steuerelementen oder COM-Objekten ist PROPERTY_PUTREF erforderlich. Visual FoxPro verwendet PROPERTY_PUT als Standardwert.
Beispiele
Im folgenden Beispiel werden Daten von Methoden eines ADO-Recordsets als UNICODE zurückgegeben, die Konvertierung nach ANSI wird nicht zugelassen:
LOCAL oConn AS adodb.Connection, oRS AS adodb.Recordset
LOCAL lcStr AS STRING
oConn=CREATEOBJECT("ADODB.Connection")
oConn.Open("DSN=Nwind;") && DSN to SQL Server
oRS=oConn.Execute("select * from customers")
COMPROP(oRS,'UTF8',1)
DO WHILE NOT oRS.Eof
lcStr = oRS.Fields(4).Value
oRS.MoveNext
ENDDO
oRS.Close()
oRS.ActiveConnection=NULL
oRS=NULL
oConn.Close()
oConn=NULL
Im folgenden Beispiel wird festgelegt, dass ein ActiveX-Steuerelement PROPERTY_PUTREF an Stelle von PROPERTY_PUT verwenden soll:
=COMPROP(oForm.OLECONTROL1, 'PROPERTY_PUTREF',1)