请问大家,最近在忙一个项目,在dll中因为使用了一些mfc
方面的东西,所以出了很多问题,经过跟踪,知道原来是,外部框架中的
theApp与dll中的theApp发生了指针混乱,打个比方,倘若调用dll中的函数,本来应该获得dll
中的全局变量theApp,却依然得到的是外部框架的全局变量theApp.
我使用了网上介绍的,在dll中的每个导出函数中都添加
AFX_MANAGE_STATE(AfxGetStaticModuleState()) ,但是依然没有效果,依然出现了
assert错误,错误代码是85 和 92.而且程序debug不能通过,而release可以通过.而且dll
中的模态对话框也不能使用
方面的东西,所以出了很多问题,经过跟踪,知道原来是,外部框架中的
theApp与dll中的theApp发生了指针混乱,打个比方,倘若调用dll中的函数,本来应该获得dll
中的全局变量theApp,却依然得到的是外部框架的全局变量theApp.
我使用了网上介绍的,在dll中的每个导出函数中都添加
AFX_MANAGE_STATE(AfxGetStaticModuleState()) ,但是依然没有效果,依然出现了
assert错误,错误代码是85 和 92.而且程序debug不能通过,而release可以通过.而且dll
中的模态对话框也不能使用
那个是mfc自己生成的啊,怎么可以不用,难道直接注释了?还是改成其他名字啊,其他名字我改过的,会出现问题,难道是说在dll中不用mfc的东西吗??谢谢了啊
在dll中用到很多theApp,因为需要这个全局变量传递一些公用的参数,倘若没有解决方法那只能改整个框架了,那样真的非常麻烦