Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Application with "external" DLL Collapse All
Subject Author Date
Simon DESEE Dec 26, 2005 - 3:56 PM

Hello,


My application uses Prof-UIS 2.51 linked dynamically.


I’ve an extension DLL (using Prof-UIS 2.51 and MFC linked dynamically) who export a function that show a CExtResizablePropertySheet. In this function, I want to draw my dialog with propertysheets with the same theme than the applications’s theme.


Before creating my propertysheet, i’ve got an error when calling the InstallPaintManager function.


The error occurs on the function:


bool CExtPaintManager::CExtPaintManagerAutoPtr::InstallPaintManager(CExtPaintManager * pPaintManager)


who call


void CExtControlBar::PmBridge_OnPaintManagerChanged(CExtPaintManager * pGlobalPM)


The ASSERT_VALID( this ); break execution of the application.


Where the problem come from ? Does my application need to use MFC linked dynamically too ?


Thanks

Technical Support Dec 27, 2005 - 5:42 AM

We confirm that this is a bug. To get a bug-free version, Please contact us by e-mail.

Simon DESEE Jan 5, 2006 - 3:59 AM

Dear Sir,


I’ve successfully downloaded the 2.52 version of your library.


But the problem still persist.


I’ve got an assertion failure when I call on my DLL exported function :


VERIFY(g_PaintManager.InstallPaintManager(RUNTIME_CLASS(CExtPaintManagerOffice2003)));


The Call Stack indicates that the error is on the ExtPaintManager.cpp line 1365 :


pPmBridge->PmBridge_OnPaintManagerChanged(m_pPaintManager);


Can you tell me how to correct this ?


There is the first-line source of my function:


BOOL _declspec(dllexport) _MyFunction(HINSTANCE hAppInst, HMODULE DLLRes, HWND hParent, UINT iStyle)


{


AFX_MANAGE_STATE(AfxGetStaticModuleState());


switch(iStyle)


{


case 0:


VERIFY(g_PaintManager.InstallPaintManager(RUNTIME_CLASS(CExtPaintManager)));


break;


case 1:


VERIFY(g_PaintManager.InstallPaintManager(RUNTIME_CLASS(CExtPaintManagerXP)));


break;


case 2:


VERIFY(g_PaintManager.InstallPaintManager(RUNTIME_CLASS(CExtPaintManagerOffice2003)));


break;


case 3:


VERIFY(g_PaintManager.InstallPaintManager(RUNTIME_CLASS(CExtPaintManagerStudio2005)));


break;


}


 


Thanks a lot.


Regards,