<转>CB2010使用一段时间总结。(Ansi>Unicode)

装上CB2010,将以前的工程转过来,首先碰到的问题是AnsiString->UnicodeString。要想把程序彻底的改成Unicode,我总结了以下几点:

    1,菜单Project->Options->Directories and Conditionals->_TCHAR maps to char 改为 wchar_t。(C++Builer2010的帮助文件中说,要使用VCL,这是必须的) 。

    2,WinMain() 改成 _tWinMain。(新建工程不用改)。

    3,const char s[N] = "abc"; 改成 const wchar_t  s[N] = L"abc";或者 TEXT("abc");

    4,AnsiString 改成  UnicodeString。  

    5,按键响应函数KeyPress( TObject *Sender, char &Key )中的 char 改为 wchar_t。(新建工程不用改)。

不足请大家指正。

最近装上Windows7,发现原先用OLE操作Excel的函数不工作了,提示“未能找到"TRUE.xls"文件”,经试验将这一行代码

  vExcelApp.OlePropertyGet( L"WorkBooks" ).OleProcedure( L"Open", L"d://my01.xls" ); 改为:

  vExcelApp.OlePropertyGet( L"WorkBooks" ).OleProcedure( L"Open", WideString(L"d://my01.xls") );后问题解决。

另外像 OlePropertySet( L"PrintTitleRows",L"$1:$1" ) 等函数,第二个参数也必须改为 WideString(L"$1:$1") 才行。

转自:http://blog.csdn.net/hong_qi/article/details/4946630

本人新博客网址为:http://www.hizds.com
本博客注有“转”字样的为转载文章,其余为本人原创文章,转载请务必注明出处或保存此段。c++/lua/windows逆向交流群:69148232
原文地址:https://www.cnblogs.com/zhangdongsheng/p/2783975.html