OlegN
|
опубликован 23-02-2001 20:17 MSK
Недостаток всех ActiveX-ов состоит в больших накладных расходах времени при вызове методов. Это связано с особенностями IDispatch интерфейса, а именно, функция Invoke, через которую производяется вызовы всех методов, выполняется сравнительно медленно. Особенно остро это проявляется при циклическом вызове методов, как в твоем случае. Так что поищи либо не ActiveX, либо ActiveX использующий dual (двойной) интерфейс. В этом случае из C++, программы методы будут вызываться напрямую минуя IDispatch::Invoke метод. Определить является ли ActiveX дуальным просто в описании объекта должно присутствовать ключевое слово dual, провожу кусочек idl файла : [ uuid(9046D2E8-DD80-11D4-AFEB-00304F06DB30), // IID_VimasImage oleautomation, dual ] interface IVimasImage : IDispatch кстати, поищи может будет что-то на http://www.codejock.com/ там неплохая библиотека для MFC Есть тоже неплохая библиотека для MFC называется Objective Grid но откуда ее слить не знаю. Поищи также на www.codeguru.com
|