Re[2]: OLE. 1C
От: -=Al=- founderal.narod.ru
Дата: 28.08.02 04:42
Оценка:
Здравствуйте alexzapl, Вы писали:

=>>Пример с MSDEV.application работает исправно, но для V77.application не хочет правильно реагировать на QueryInterface.
=>>CLSID взят из реестра.
A>напиши кусок кода как ты его создаешь.
Вот:
HRESULT hr;
const wchar_t *V77=L"V77.Application";
const unsigned int FuncNum(5);
wchar_t *FuncNames[FuncNum]={L"Initialize",L"EvalExpr",L"CreateObject", L"ExecuteBatch",L"RMTrade"};
CLSID id1C;
hr = CLSIDFromProgID(V77, &id1C);
IUnknown *punk=NULL;
hr = CoCreateInstance(id1C, NULL, CLSCTX_ALL | CLSCTX_REMOTE_SERVER, IID_IUnknown, (void**)&punk);
hr = OleRun(punk);

IDispatch *pdisp=NULL;
punk->QueryInterface(IID_IDispatch, (void**)&pdisp);
punk->Release();

LPCSTR name="RMTrade";
DISPID id_rmtrade=0;
hr=pdisp->GetIDsOfNames(IID_NULL, (WORD**)&name, 1, LOCALE_SYSTEM_DEFAULT, &id_rmtrade);
Al
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.