写了个DLL。里面有几个接口的参数是DWORD   WINAPI   fun1(LPVOID   lParam)   
{   
CMYView *pView   =   (CMYView*)lParam;   
..................
}可是如果包含MYView.h 进来后,会涉及到需要好多文件及结构等接口。不知有什么好办法。能简单引入视图。并可以调用任意
pView->xxxMethod()........   

解决方案 »

  1.   

    可以先建一个MFC扩展DLL,导出这个视图类,然后主程序和你的DLL同时调用这个MFC扩展DLL。当然,最好不要这么做,因为跨模块传递MFC对象有很多问题,可以传递窗口句柄,通过消息通讯。
      

  2.   

    我复制了一份视图接口到DLL里,然后删除不用的成员。这样可行吗?
    但是链接出错:
    1>正在链接...
    1>   正在创建库 F:\发卡机\ut6000\IssueCardMachine_UT6000\Debug\MydlleDLL.lib 和对象 F:\发卡机\ut6000\IssueCardMachine_UT6000\Debug\MydlleDLL.exp
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnZ1(void)" (?OnZ1@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnZ2(void)" (?OnZ2@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnZ3(void)" (?OnZ3@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnZ4(void)" (?OnZ4@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnZ5(void)" (?OnZ5@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnGo6(void)" (?OnGo6@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnGo5(void)" (?OnGo5@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnGo4(void)" (?OnGo4@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnGo3(void)" (?OnGo3@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnGo2(void)" (?OnGo2@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>Mydll.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall MYView::OnGo1(void)" (?OnGo1@MYView@@QAEXXZ),该符号在函数 "unsigned long __stdcall fun1(void *)" (?fun1@@YGKPAX@Z) 中被引用
    1>F:\mywork\work1\Debug\MydlleDLL.dll : fatal error LNK1120: 11 个无法解析的外部命令
    1>