COMPROP( ) Function

JavaScript Editor js editor     Web development 



Main Page

Sets or returns the behavior setting of a COM object property.

COMPROP(oCOMObject, cProperty [, eValue])

Parameters

oComObject


Specifies a reference to a COM object. cProperty is not case sensitive. You must use the complete name of the COM object. If you do not provide eValue, COMPROP(В ) returns the value of cProperty.
cProperty


Specifies the name of the COM property to set. The following table lists possible values of cProperty.

cProperty Description

UTF8

Determines whether UNICODE strings returned from a COM object are converted to ANSI. Conversion is performed by default.

PUTREF

Determines if initial object assignment is PROPERTY_PUT (default) or PUTREF.

eValue


Specifies a value representing behavior to apply to the cProperty. The following table lists values for eValue.

eValue Description

0

Apply default behavior.

1

Apply nondefault behavior as described in the table for cProperty.

For example, setting an eValue of 1 for UTF8 prevents the display of multi-byte characters as question marks. Setting an eValue of 1 for PUTREF causes Visual FoxPro to attempt object assignment as a PUTREF first and, only if that fails, attempt assignment as a PROPERTY_PUT. Object assignments to properties of some ActiveX controls or COM objects requires PUTREF, and Visual FoxPro defaults to PROPERTY_PUT.

Return Value

COMPROP( ) returns the value of cProperty.

Examples

The following example returns data from methods of an ADO recordset as UNICODE instead of allowing conversion to ANSI:

В Copy Code
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

In the following example, an ActiveX control is made to use PUTREF rather than PROPERTY_PUT:

В Copy Code
=COMPROP(oForm.OLECONTROL1, 'PUTREF',1)

See Also



JavaScript Editor js editor     Web development