как получить double из IDispatchPtr
От: Vasilich2222  
Дата: 18.03.14 21:12
Оценка:
В очередной раз надо написать клиента, который использует COM object, но что-то я туплю

#import вижу в tlh файле
функция IDispatchPtr Mean( IDispatch * Data ); которая возвращает значение вероятно double.

также в OleView вижу
[id(0x00000026), helpstring("Mean function")]
IDispatch* Mean(IDispatch* Data);

пример использования в Паскале (не уверен, что весь пример правильный) вот такой
mean : double;
mean := FTia.ProcessingSystem.Mean(FImage2.Data).real;

мне нужно на С. в принципе компилятор не ругается на
double ddd = 2;
ddd = m_TIA->ProcessingSystem()->Mean( pImagePlot->Data);

и программа выдает, что ddd = 1.0 но если это mean, то это должно быть между 10000 и 20000

Чтобы использовать Invoke() мне нужно знать ID. Получить ID можно через GetIDsOfNames(), но я не знаю какое использовать имя.
Да, GetTypeInfoCount() возвращает 0.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.