Подмяна на този указател към статично програмиране функция
Използването на C ++ синтаксис
HR = CoCreateInstance # 40; CLSID_Object, NULL. CLSCTX_ALL, __ uuidof # 40; IObj # 41. # 40; LPVOID * # 41; oPointer # 41; ; // създаване на инстанция на обект в CLSID и връща показалеца на интерфейс
ако # 40; FAILED # 40; ч # 41; # 41; # 123;
MessageBox # 40; 0, L "Не може да се създаде обект", L "грешка", MB_OK # 41; ;
Иди Uninit;
# 125;
IConnectionPointContainer * lpConCont = NULL;
HR = oPointer -> QueryInterface # 40; IID_IConnectionPointContainer, # 40; нищожен ** # 41; lpConCont # 41; ; // Вземи препратка към IConnectionPointContainer интерфейс за обект в lpConCont
ако # 40; ч. = S_OK # 41;
върне час;
HR = lpConCont -> FindConnectionPoint # 40; DIID__Interface, lpConPoint # 41; ; // получите точка за свързване към DIID__Interface на интерфейса
lpConCont -> Release # 40; # 41; ; // освобождаване на контейнера
lpConCont = NULL;
ако # 40; ч. = S_OK # 41;
върне час;
HR = lpConPoint -> Препоръки # 40; това. dwConPointID # 41; ; // установява връзка между точката на свързване и приемника
Приемникът само в Windows-версията е това. т.е. IDispatch клас обект, и тя работи, както и в конзолата - грешка.
Аз не знам защо сте толкова искате да се противопостави-приемник е обект, в който методът и връзката (с помощта на показалеца това), но О, добре.
защо не искаш ли? С удоволствие Имам молба конзола. Аз ще го прилага като приемник IDispatch обект -> грешка. Т.е. приложение има дете клас MyIDispatch, има подходящи методи. защото функция, по-горе горепосочените е също метод за този клас, съответно, причинена от това.
Ако е възможно, друго решение - в студиото! Ще Ви бъдем благодарни.
Както и да е клас-приемника трябва правилно (може би в това се крие грешката) за изпълнение на интерфейса IDispatch.
Ако не знаете как да се приложи правилно, може да искате да използвате функцията CreateStdDispatch (което създава клас обект, който реализира интерфейса IUnknown, някои стандартното внедряване на IDispatch).
Да, аз ще се опитам, но това, което ще бъде различен от стандартния Dispatch ", както и? В крайна сметка, едно и също нещо, не е?
не не не не не.
Тази грешка, никога не е бил в състояние да спечели и да се пресъздаде прилагането на конзолата от нулата. Всичко вече е променена в конзолата. И като резултат от това.
В WinMain "е, че всичко е наред! Пеят песни, музика играе. Но е необходимо да отидете в конзолата.
Console колега не иска да работи с Dispatch'em (въпреки че не е връзка или за свръзка не се кълнат, кълне вече Windows)
И дори HRESULT обикновено съдържа грешка в отстраняване на грешки и не е - това е просто лети vindosovskaya стека грешка.
Използването на C ++ синтаксис
Един необработено изключение в "0x1024c0d2 (msvcr100d.dll)" в "console2.exe". 0xC00000FD. Stack преливник.