Compartir a través de


COMPROP( ) (Función)

Establece o devuelve la configuración de comportamiento de una propiedad de objeto COM.

COMPROP(oCOMObject, cProperty [, eValue])

Devuelve

Valor de cProperty.

Parámetros

  • oComObject
    Especifica una referencia a un objeto COM.

  • cProperty
    Especifica el nombre de la propiedad COM que se va a establecer. Vea en la tabla siguiente los valores posibles de cProperty:

    cProperty Descripción
    UTF8 Determina si las cadenas UNICODE devueltas de un objeto COM se convierten a ANSI. La conversión se realiza de forma predeterminada.
    PUTREF Determina si la asignación de objeto inicial es PROPERTY_PUT (valor predeterminado) o PROPERTY_PUTREF.
  • eValue
    Especifica el valor que se aplicará a cProperty. Utilice 0 para especificar el comportamiento predeterminado y 1 para utilizar un comportamiento no predeterminado a partir de la descripción en la tabla cProperty.

Observaciones

Debe utilizar el nombre completo del objeto COM. Si no se proporciona eValue, COMPROP( ) devuelve el valor de cProperty. cProperty no distingue entre mayúsculas y minúsculas.

Si se fija un valor eValue de 1 para UTF8, se evita que los caracteres de múltiples bytes aparezcan como signos de interrogación.

Si se fija un valor eValue de 1 para PUTREF, Visual FoxPro intentará una asignación de objeto como PROPERTY_PUTREF primero y, sólo en caso de que falle, intentará la asignación como PROPERTY_PUT. Las asignaciones de objeto a propiedades de algunos controles ActiveX u objetos COM requiere PROPERTY_PUTREF, y el valor predeterminado de Visual FoxPro será PROPERTY_PUT.

Ejemplos

El ejemplo siguiente devuelve datos desde métodos de un conjunto de registros ADO en formato UNICODE, en lugar de permitir la conversión a ANSI:

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

En el ejemplo siguiente, se indica a un control ActiveX que utilice PROPERTY_PUTREF en lugar de PROPERTY_PUT:

=COMPROP(oForm.OLECONTROL1, 'PROPERTY_PUTREF',1)

Vea también

DBGETPROP( ) (Función) | COMARRAY( ) (Función)