Здравствуйте.
Yеобходимо написать консольное приложение которое будет использовать ActiveX.
Вопрос такой что лучше
создание activeX dll и использование его функций в консольном приложении или
только консоль с embedded activeX функциями
какие нюансы, и стоит ли вообще на это обращать внимания.
Заранее благодарен.
Здравствуйте, Clickmaker, Вы писали:
C>не понятен вопрос.. C>почему именно activex? предполагается, что его функции будут кем-то еще использоваться?
Да, предполагается что будут пользоваться через VB, VBSript, perl, а в данный момент С++.
1.Создал MFC ActiveX Control (насколько я понял существует вариант через ATL, какая разница между ними???)
Мне нужно использовать этот контрол в консольном приложении. он должен быть невизуальным, в библиотеке реализовал тестовую функцию — int GetRandom()
2.Создал консольное приложение с библиотекой MFC(попытался совсем "чистое" без MFC создать,ничего не получилосьб исправлял одну ошибку , появлялась другая).
Записал туда такой код:
if ( FAILED( CoInitialize(NULL) ))
{
cerr << _T("Fatal Error: OLE initialization failed") << endl;
return 1;
}
HRESULT hr;
_DPrintPrefX* pIPP; // _DPrintPrefX — интерфейс методов в моей библиотеке
hr=CoCreateInstance(CLSID_PrintPrefX,NULL,CLSCTX_INPROC_SERVER, IID_DPrintPrefX,(void**) &pIPP); // hr возвращает S_OK;
if (SUCCEEDED(hr))
{
int r = pIPP->GetRandom(); //эта функция описана в библиотеке, но компилятор говорит мол не объявлена такая функция
cout<<"Success\n";
}
Как объявить интерфейс _DPrintPrefX в консольном проекте, чтобы функцию GetRandom() можно было использовать?