Устанавливает или возвращает параметры поведения для свойства COM объекта.

COMPROP(oCOMObject, cProperty [, eValue])

Параметры

oComObject

устанавливает ссылку на COM объект. cProperty регистронезависимо. Вы должны использовать полное имя COM объекта. Если Вы не определяете eValue , COMPROP( ) возвращает значение cProperty.
cProperty

Определяет имя COM свойства для задания значения. Следующая таблица перечисляет возможные значения cProperty .

cProperty Описание

UTF8

Определяет, преобразованы ли UNICODE строки, возвращаемые COM объектом, в ANSI. Преобразование выполняется по умолчанию.

PUTREF

Определяет, является ли начальным присвоением объектного свойства PROPERTY_PUT (значение по умолчанию) или PUTREF.

eValue

Определяет значение, отражающее поведение предназначенное cProperty . Следующая таблица перечисляет значения для eValue .

eValue Описание

0

Применяется заданное по умолчанию поведение.

1

Применяется поведение не по умолчанию как описано в таблице для cProperty .

Например, устанавливая eValue в 1 для UTF8, предотвращается вывод многобайтовых символов в виде вопросительных знаков. Установка eValue в 1 для PUTREF заставляет Visual FoxPro делать попытку объектного присвоения вначале как PUTREF и, только если это не удается, как PROPERTY_PUT. Объектные присвоения свойствам некоторых ActiveX контролов или COM объектов требуют PUTREF, а значения по умолчанию Visual FoxPro - PROPERTY_PUT.

Возвращаемое значение

COMPROP () возвращает значение cProperty .

Примеры

Следующий пример возвращает данные из методов ADO recordset в виде UNICODE, вместо преобразования в 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

В следующем примере, ActiveX элемент управления настроен для использования PUTREF, а не PROPERTY_PUT:

Скопировать код
=COMPROP(oForm.OLECONTROL1, 'PUTREF',1)

См. Также