一个vc6开发的插件系统,插件全部做成dll。
原理:用事先定义好的接口,插件平台把父窗口句柄(一个dialog句柄)传给dll中的初始函数,dll创建一个子窗口并将句柄传回给插件平台,最后插件平台把子窗口贴到上述提到dialog上显示。
问题:vc6编译的插件平台调用vc6编写的dll显示正常,但vc6编译的插件平台调用vc2008编写的dll就出错,程序直接崩溃。我在单步跟踪的时候,发现接口函数的确调用了,但是传回的句柄就莫名其妙的错误了,怀疑vc6和vc2008的dll2进制不兼容,出现了地址偏移??
ps:上述工程在debug以及release版本下均尝试过,问题依旧。
望高手解答,谢谢!
我也遇到过类似问题,微软已经放弃VC6了,不在维护了,
还是不要用了