Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, Vasilich2222, Вы писали:
V>>Спасибо за ответ, но это не проходит. V>>pMeaner имеет только 7 методов (3 от COM и 4 от Disзatch). V>>real — это double паскале и паскаль это дело переворавчивает сам, так же как и VB.
Vi2>Тебе нужно либо выложить TLB любо IDL описание интерфейса, имеющего метод Mean.
Vi2>Как общее соображение: obj->f(ps)->g(ps)... может иметь место в случае возврата функцией объекта. Тем есть несколько механизмов, реализующие корректное исполнение ->. Если "real" — не название метода, то тогда у m_TIA->ProcessingSystem()->Mean(pImagePlot->Data) запрашивается свойство-по-умолчанию, имеющее ID=0, до тех пор пока не вернётся не-объект, из которого получают плавающее значение double преобразованием вариантов (VARIANT).
так я же в самом начале написал, что в OleView (открываю tlb файл и) вижу
[id(0x00000026), helpstring("Mean function")]
IDispatch* Mean(IDispatch* Data);
я так понимаю, что когда я вызываю функцию Mean, то она отрабатывает и создает объект с интерфейсом IDispatch, в котором где-то в VARIANT и находится нужный мне double. Pascal делает переход с IDispatch в double с помощью добавления ".real".
я также предополагаю, что вызов Invoke с id(0x00000026) вызовет функцию Mean ...