// the GUI is a GUI.DLL
// GUI.h
typedef IuGUI* (*LPFN_CREATEGUI)(void);
GUI_API IuGUI* CreateObject(void);
GUI_API IuGUI* CreateObject(void)
{
return new CuGUI;
}
// CuGUI
class CuGUI :
public IuGUI
{
public:
CuGUI(void);
~CuGUI(void);
virtual ULONG Release()
{
delete this;
return 0;
}
virtual void OnDraw(HDC hDC);
};
// CGUILoadTest
void CGUILoadTest::testDllCreateObject(void)
{
LPFN_CREATEGUI lpfnCreateGUI = NULL;
CuDllManager dllGUI;
BOOL bResult = dllGUI.LoadLibrary(TEXT("GUI.dll"));
CPPUNIT_ASSERT( bResult != NULL );
lpfnCreateGUI = (LPFN_CREATEGUI)dllGUI.GetProcAddress(("CreateObject"));
CPPUNIT_ASSERT( lpfnCreateGUI != NULL );
IuGUI *pIuGUI = NULL;
if( lpfnCreateGUI != NULL )
pIuGUI = lpfnCreateGUI();
CPPUNIT_ASSERT( pIuGUI != NULL );
if( pIuGUI != NULL )
pIuGUI->Release();
}
沒有留言:
張貼留言