// RobotControlDll.cpp : 定义 DLL 的初始化例程。 // #include "stdafx.h" #include "RobotControlDll.h" #include "Robot_conect.h" //#include "Robot_Position.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // //TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的, // 则从此 DLL 导出的任何调入 // MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到 // 该函数的最前面。 // // 例如: // // extern "C" BOOL PASCAL EXPORT ExportedFunction() // { // AFX_MANAGE_STATE(AfxGetStaticModuleState()); // // 此处为普通函数体 // } // // 此宏先于任何 MFC 调用 // 出现在每个函数中十分重要。这意味着 // 它必须作为函数中的第一个语句 // 出现,甚至先于所有对象变量声明, // 这是因为它们的构造函数可能生成 MFC // DLL 调用。 // // 有关其他详细信息, // 请参阅 MFC 技术说明 33 和 58。 // // CRobotControlDllApp Robot_conect *m_Robot =NULL; //Robot_Position *m_RobotPosition = NULL; BEGIN_MESSAGE_MAP(CRobotControlDllApp, CWinApp) END_MESSAGE_MAP() // CRobotControlDllApp 构造 CRobotControlDllApp::CRobotControlDllApp() { // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 } // 唯一的一个 CRobotControlDllApp 对象 CRobotControlDllApp theApp; // CRobotControlDllApp 初始化 BOOL CRobotControlDllApp::InitInstance() { CoInitialize(NULL); AfxOleInitModule(); AfxEnableControlContainer(); if(!m_Robot) { m_Robot = new Robot_conect(); } AFX_MANAGE_STATE(AfxGetStaticModuleState()); m_Robot->Create(Robot_conect::IDD,NULL); m_Robot->ShowWindow(SW_HIDE); /* if(!m_RobotPosition) { m_RobotPosition = new Robot_Position(); } m_Robot->Create(Robot_Position::IDD,NULL); m_Robot->ShowWindow(SW_SHOW); */ // ShowWindow(NULL,SW_HIDE); CWinApp::InitInstance(); return TRUE; } BOOL CRobotControlDllApp::OnCreateAggregates() { // TODO: 在此添加专用代码和/或调用基类 return TRUE; }