光道視覺科技股份有限公司
關於我們 最新消息 產品介紹 下載專區 技術問題 聯絡我們
Sitemap 回首頁 繁體中文 English
技術問題

[SDK] 使用 BCB 搭配 OVK Framework 使用 String 和 wchar_t 的問題

若使用 Borland C++ Builder 搭配我司 AltairU 、OVK函式庫時,使用需要 String 參數的函式時例如:
AxImagBW8->LoadFile("F:\\Sample.bmp");  //編譯時, 此行會產生以下錯誤訊息
[C++ Error] Unit1.cpp(17): E2034 Cannot convert 'AnsiString' to 'wchar_t *'
 
 
因為 Borland C++ Builder 對資料格式的處理較為嚴謹, 我司 ActiveX 轉為 VCL 時會將 "String型態" 轉為 "wchar_t *型態", 也就是寬字元/字串(unicode)的意思, 解決辦法如下:
 
1. 利用前綴字 "L" 告知編譯器字串為 (unicode) 型態, 例如:
        AxImagBW8->LoadFile(L"F:\\Sample.bmp");
 
2. 強制將 "String型態" 轉為"wchar_t *型態", 例如:
        AxImagBW8->LoadFile((WideString)"F:\\Sample.bmp");
        AxImagBW8->LoadFile(WideString("F:\\Sample.bmp")); 
        註: 已上兩者取一種方式用即可

Copyright ©2008 Internet Service by
AISYS Vison company.