郁闷了一上午,新改的Unicode代码总是有错误。编译没有错误后运行出错。一开始我还以为是改成Unicode后调用程序无法找到这个Dll的入口,但加上DllMainCRTStartup后,又告知“entrypoint "_DllMainCRTStartup" is not __stdcall with 12 bytes of arguments”这个错误。看来不是Dll入口错误。那就是代码错误。由于代码中有好多都是程序运新自动调用的,所以只能一个一个的查了,最后发现错误出在这行代码的附近:
_tcsset(strName, _T('c'));
把这些代码注释掉,果然问题不在出现了。看来是这里了。
我把代码改成:
TCHAR tc = _T(' c');
_tcsset(strName, tc);
运行也没有错误了:( 丈二的和尚摸不着头脑了。
现这么用吧,抽空再来研究研究。