Устанавливает или возвращает параметры поведения для свойства 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) | |