__dll__
1. Мастером Microsoft Visual Studio 2005 создан MFC DLL "my_dll.dll" проект с поддержкой — Regular DLL using shared MFC DLL.
2. Мастером создан диалоговый ресурс
3. Мастером добавлен класс CDialog_my для созданного диалогового ресурса
4. В файл добавлена следующая функция для создания и открытия окна
extern "C" __declspec(dllexport) int MyInit(int i)
{
CDialog_my MyDialog;//Обьект класса class CDialog_my : public CDialog
MyDialog.DoModal();//Собственно создаем модальное окно
return 1;
}
__exe__
1. Мастером Microsoft Visual Studio 2005 создан MFC Application проект типа Dialog based.
2. Добавлена кнопка
3. Обрабатываем нажатие
void CexeDlg::OnBnClickedButton1()
{
HINSTANCE h = 0;
h=LoadLibrary("my_dll.dll");//загрузка DLL
typedef int (*TPrototype)(int p);
TPrototype pMyInit;
pMyInit = (TPrototype)GetProcAddress(h, "MyInit");//получение адреса функции
int rez = pMyInit(0);//выполнение функции и собственно создание окна
}
До этого момента всё нормально работает. Но возник
__ВОПРОС__
Необходимо создать консольное приложение откуда вызывается функция pMyInit(0), чтобы открывалось окно находящееся в DLL.
Этот код не работает:
#include <windows.h>
int main ()
{
HINSTANCE h = 0;
h=LoadLibrary("my_dll.dll");//загрузка DLL
typedef int (*TPrototype)(int p);
TPrototype pMyInit;
pMyInit = (TPrototype)GetProcAddress(h, "MyInit");//получение адреса функции
int rez = pMyInit(0);//выполнение функции и собственно создание окна
}
Появляется ошибка во время выполнения на строке int rez = pMyInit(0);
Подскажите что нужно делать, чтобы открыть окно в dll из консоли?
09.04.08 07:05: Перенесено модератором из 'C/C++' — Odi$$ey