/*
Class1, IClass1, Class2, IClass2 from files generated with dumpcpp
*/
Class1* obj1 = new Class1();
int count = obj1->Count(); // working fine
IClass1* iObj1 = NULL;
obj1->queryInterface(IID_IUnknown, reinterpret_cast<void**>(&iObj1));//working fine
Class2* obj2 = new Class2();
obj2->Init(iObj1); //QAxBase: Error calling IDispatch member Init: Non-optional parameter missing
Если я пытаюсь сделать то же самое в VS2010 (без Qt) то все работает. С одной лишь поправкой что в VS вызываются методы интерфейсов а не классов
IClass1* iboj1
IClass2* iboj2
CoCreateInstance(__uuidof(Class1), NULL, CLSCTX_ALL, __uuidof(IClass1), reinterpret_cast<void**>(&iboj1));
CoCreateInstance(__uuidof(Class2), NULL, CLSCTX_ALL, __uuidof(IClass2), reinterpret_cast<void**>(&iobj2));
iobj2->Init(iobj2);
Когда я пытаюсь делать нечто подобное c использованием QT то это не работает
/*
Class1, IClass1, Class2, IClass2 from files generated with dumpcpp
*/
Class1* obj1 = new Class1();
int count = obj1->Count(); // working fine
IClass1* iObj1 = NULL;
obj1->queryInterface(IID_IUnknown, reinterpret_cast<void**>(&iObj1));//working fine
Class2* obj2 = new Class2();
IClass2* iObj2 = NULL
obj2->queryInterface(IID_IUnknown, reinterpret_cast<void**>(&iObj2));//working fine
iobj2->Init(iObj1); //:-1: error: Exception at 0x759b7199, code: 0xc0000005: read access violation at: 0x0, flags=0x0 (first chance)
Если кто-нибудь знает, подскажите что я делаю не правильно.