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