今天遇到个奇怪的问题:
ATL做好的DLL控件,编码格式是unicode。在中文系统下能正常注册使用,但是在英文系统下却无法注册成功。百思不得奇解,上网乱搜一气,找不到答案。差点被它折磨死,无奈之下用最土的方法:头文件一个个包含,一步步排除。最后发现只要包含了<vertor>头文件,在英文系统下就无法注册了!!问题就在这了,奇怪的是<vertor>是标准的C++头文件,难道说是unicode的兼容性问题?试着包含<iostream>文件发现也无法注册成功!彻底晕了。。。。
搞不懂,可能是VC7.0的BUG?解决方法只能把<vertor>去了,容器换成<atlcoll.h>的CAtlArray类来实现向量数组,呵呵。