描述:
自己写的Com的DLL,Unicode化之前一切正常
Unicode化之后有几个问题
1.Com的DLL Unicode化时要不要
在"link"页中的"project Options"加入/entry:"wWinMainCRTStartup"
我的DLL没有DLLMain函数,所以就没加
这个对不对?
2.Unicode化时,是不是所有的char变量都要改成WCHAR或TCHAR,如果没有什么影响,
不改可不可以?
3.Unicode化后编译,注册时出现找不到指定模块的错误
好像原本设定的DLL的 path都没用了(原本是放在../bin目录的)
把所有相关的DLL拷贝到C:\WINNT\system32之下才没这个错误
可是之后又出现REGSVR32.EXE程序错误
先谢谢了
解决方案1:
注册DLL的时候regsvr32.exe 其实就是调用COM的导出函数DLLRegisterServer进行注册
那么注册DLL的时候还会不会执行DLL的其他函数?
========================================
按COM的原理来说,它注册的时候不应该调用其他的函数。主要就是读写注册表!但是我不是很清楚ATL是怎么做的!
肯定不是路径引起的0x00000000
错误的内存读写
0x00000000 内存不可读
-----
这个错误应该不是路径的问题吧!一般是内存操作错误引起的。