Всем привет!
Собственно, вопрос дурацкий:
Есть DLL, которая содержит диалог и экспортируемую функцию для его поднятия. DLL подгружается другим приложением и поднимает диалог вызовом экспортируемой функции. Всё работало, до тех пор, пока я не положил на диалог MSFlexGrid. После добавления его на диалог — он перестал создаваться
Да, диалог построен так: к ресурсу прицеплен класс, наследник CDialog (в общем-то, всё традиционно).
Экспортируемая функция поднимает его:
void _stdcall ShowDlg() { // экспортируемая функция
CTestDlg dlg; // class CTestDlg : public CDialog....
dlg.DoModal();
}
В обычном MFC приложении, подобные глюки лечились установкой галки около Active X (при создании проекта). В DLL подобной галки нет
С уважением,
Володя.
P.S.: Или с подобными вопросами надо в COM/ ActiveX?
P.P.S.: Порекомендуйте грид попродвинутей, чем MSFlexGrid, плиз... Желательно бесплатный!
Здравствуйте, Вовка Рыбаков, Вы писали:
ВР>Всем привет!
ВР>Собственно, вопрос дурацкий:
ВР>Есть DLL, которая содержит диалог и экспортируемую функцию для его поднятия. DLL подгружается другим приложением и поднимает диалог вызовом экспортируемой функции. Всё работало, до тех пор, пока я не положил на диалог MSFlexGrid. После добавления его на диалог — он перестал создаваться
ВР>Да, диалог построен так: к ресурсу прицеплен класс, наследник CDialog (в общем-то, всё традиционно).
ВР>Экспортируемая функция поднимает его:
ВР>ВР>void _stdcall ShowDlg() { // экспортируемая функция
ВР> CTestDlg dlg; // class CTestDlg : public CDialog....
ВР> dlg.DoModal();
ВР>}
ВР>
ВР>В обычном MFC приложении, подобные глюки лечились установкой галки около Active X (при создании проекта). В DLL подобной галки нет
ВР> С уважением,
ВР> Володя.
ВР>P.S.: Или с подобными вопросами надо в COM/ ActiveX?
ВР>P.P.S.: Порекомендуйте грид попродвинутей, чем MSFlexGrid, плиз... Желательно бесплатный!
А ты ресурсы менял?
AfxGetResourceHandle(old);
AfxSetResourceHandle(new);
...//вызов твоего диалога
AfxSetResourceHandle(old);
Здравствуйте, Вовка Рыбаков, Вы писали:
ВР>P.P.S.: Порекомендуйте грид попродвинутей, чем MSFlexGrid, плиз... Желательно бесплатный!
здесь
Здравствуйте, Вовка Рыбаков, Вы писали:
ВР>В обычном MFC приложении, подобные глюки лечились установкой галки около Active X (при создании проекта). В DLL подобной галки нет
Попробуй в InitInstance добавить AfxEnableControlContainer. Можно еще посмотреть AfxOleInit и
Q154320.