Здравствуйте, Vasilich2000, Вы писали:
V>есть ActiveX control V>... V>с своем коде создаю Instance, но вызов любого метода приводит к ошибки UnExpected V>... V>Если вставить этот ActiveX в диалог, то все работает. V>... V>И в чем зарыта собака?
В том, что контрол нельзя использовать как простой СОМ объект (или ActiveX). Его нужно использовать как контрол — сделать некоторые инициализирующие манипуляции с его интерфейсами. До этого контрол имеет право выдавать E_UNEXPECTED в ответ на вызов других методов.
Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, Vasilich2000, Вы писали:
V>>есть ActiveX control V>>... V>>с своем коде создаю Instance, но вызов любого метода приводит к ошибки UnExpected V>>... V>>Если вставить этот ActiveX в диалог, то все работает. V>>... V>>И в чем зарыта собака?
Vi2>В том, что контрол нельзя использовать как простой СОМ объект (или ActiveX). Его нужно использовать как контрол — сделать некоторые инициализирующие манипуляции с его интерфейсами. До этого контрол имеет право выдавать E_UNEXPECTED в ответ на вызов других методов.
Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, Vasilich2000, Вы писали:
V>>а можно пример указать?
Vi2>Какой?
как сделать это
"некоторые инициализирующие манипуляции с его интерфейсами"
ну хотя бы на функции которые надо использовать для инициализации.
я нашел пример в инете и ничего не вижу нового http://www.tenouk.com/visualcplusmfc/visualcplusmfc24.html
Здравствуйте, Vasilich2000, Вы писали:
V>как сделать это "некоторые инициализирующие манипуляции с его интерфейсами" V>ну хотя бы на функции которые надо использовать для инициализации.
Ты же сам написал, что "Если вставить этот ActiveX в диалог, то все работает". Вот и смотри, как там осуществляется инициализация контрола. Я тебе ответил, в чем зарыта собака.
Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, Vasilich2000, Вы писали:
V>>как сделать это "некоторые инициализирующие манипуляции с его интерфейсами" V>>ну хотя бы на функции которые надо использовать для инициализации.
Vi2>Ты же сам написал, что "Если вставить этот ActiveX в диалог, то все работает". Вот и смотри, как там осуществляется инициализация контрола. Я тебе ответил, в чем зарыта собака.
//header
CAcquisition m_OCX;
//c++
DDX_Control(pDX, IDC_ACQUISITIONCTRL1, m_OCX);
...
long Space;
SCODE Result = m_OCX.CheckDiskSpace(m_SequenceName, &Space, m_StartRow);
и где здесь инициализация дополнительная?
единственное что-то хоть как-то подходящее, так это это в свойствах ACQUISITIONCTRL1 есть свойство Disabled = false
Vita, ты можешь поконкретнее указать, а не говорить загадками
Здравствуйте, Vasilich2000, Вы писали:
V>и где здесь инициализация дополнительная? V>единственное что-то хоть как-то подходящее, так это это в свойствах ACQUISITIONCTRL1 есть свойство Disabled = false
Там вся инициализация делается средствами MFC. Ее не видно, но она есть (c)
(зарыта внутри DDX_Control и CreateControl).
V>Vita, ты можешь поконкретнее указать, а не говорить загадками