|
|
|
Проблема с DLL
|
|||
|---|---|---|---|
|
#18+
У меня есть AxtiveX компонент, который написан на C++ Builder 6.0 Я его регистрирую и использую в среде "1С Предприятие". Там все работает нормально. Но вот я захотел его же использовать приложении MFC (Visual Studio C++ .NET). Попытался добавить мой компонент с помощьюя MFC Сass From AxtiveX, но в списке установленных компонентов его не нашел. Тогда я создал класс с помощью MFC Сass From TypeLib. Мой компонент там был найден был создан класс обвертка. Но в MFC приложении он не работает!!! Вот как я вызываю его методы ::CoInitialize(NULL); CMyXML0 Multi; Multi.InitXML(); AfxMessageBox(Multi.GetFromXML((LPCTSTR)"id4",2)); Multi.EndXML(); ::CoUninitialize(); Но выдается пустое окно. Вот что сгенирировал мастер: public: CString GetFromXML(LPCTSTR Ident, long Lang) { CString result; static BYTE parms[] = VTS_BSTR VTS_I4 ; InvokeHelper(0x1, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, Ident, Lang); return result; } void InitXML() { InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } void EndXML() { InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); } И вот соответственно и сами функции из компоненты: STDMETHODIMP TMyXMLImpl::GetFromXML(BSTR Ident, int Lang, BSTR* Result) { if(Lang==1||Lang==2||Lang==3) // êàêîé ïàðàìåòð ÿçûêà { GetFromXML2(Ident, Lang, *Result); // âûçîâ ô-öèè äëÿ ÷òåíèÿ èç XML-ôàéëà } return S_OK; } STDMETHODIMP TMyXMLImpl::EndXML() { MyXMLDoc->Active=false; // çàêðûâàåì êîìïîíåíò delete ResPtr; // óäàëÿåì óêàçàòåëü íà ïîòîê } STDMETHODIMP TMyXMLImpl::InitXML() { ResPtr=new TResourceStream((int)HInstance, "XML","RT_RCDATA"); // ñîçäàåì ïîòîê èç ðåñóðñà MyXMLDoc=LoadXMLDocument(""); MyXMLDoc->LoadFromStream(ResPtr); // çàãðóæàåì XML ôàéë èç ðåñóðñà MyXMLDoc->Active=true; // àêòèâèçèðóåì êîìïîíåíò } Никак не могу понять, почему в 1C работает, а в MFC нет. Помогите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2006, 12:28 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=357&tid=2031384]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
96ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 413ms |

| 0 / 0 |
