Dear Friends I have two mfc application. One is a dll and the other one is a client exe application. From the exe application I am trying to load the dll and launch the mainwindow of the dll.
For that in dll.....I have the view class there in view implementation file i am declaring a view pointer, like the code below
//RevolutionProjView.cpp file
CRevolutionProjView *view;
CRevolutionProjView::CRevolutionProjView()
{
view = this;
}
// The I am creating an extern C function by name runAppli like below.
extern "C" BOOL __declspec(dllexport) runAppli(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
view->ShowWindow(SW_SHOW);
return true;
}
Now I have exe applicatioln where I want to launch the mainwindow of the dll above is given below.
void CClientRevProjDlg::OnBnClickedButton1()
{
typedef VOID (*MYPROC)(void);
HINSTANCE hinstLib;
MYPROC ProcAdd;
BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
hinstLib = LoadLibrary(L"C:\\Users\\DasmahapatraS\\Projects\\Bhagavan_Cadem\\RevolutionProj_OrthoGraphic\\debug\\RevolutionProj.dll");
if (hinstLib != NULL)
{
ProcAdd = (MYPROC) GetProcAddress(hinstLib, "runAppli");
if (fRunTimeLinkSuccess = (ProcAdd != NULL))
(ProcAdd) ();
fFreeResult = FreeLibrary(hinstLib);
}
if (! fRunTimeLinkSuccess)
printf("message via alternative method\n");
}
With this my application mainwindow is appearing but immediately its crashing. Can anyone tell me whats going wrong. How can I launch the mainwindow of the dll ?? Please help me. Thanks Sujan