|
Тема
|
Cannot convert 'UnicodeString' to 'const wchar_t *
|
|
Автор |
naki (Power User) |
Публикувано | 05.11.08 21:02 |
|
Имам проблем с C++ Builder 2009. Както знаете той вече има поддържка на Unicode.
Сорс кода (дошъл от C++ Builder 6 проект) е следния:
Application->MessageBox(static_cast <TControl*> (Sender)->Hint.w_str(),L"Задание - "+ static_cast <TLabel*> (FindComponent("frmHoriz"+IntToStr(selected))->FindComponent("lblName"))->Caption,MB_OK+MB_ICONINFORMATION);
Грешката при компилиране е
[BCC32 Error] unitMain.cpp(547): E2034 Cannot convert 'UnicodeString' to 'const wchar_t *'
Добавяне на .w_str() след Caption води до грешка Invalid pointer addition.
Проблема е след първата запетая, където искам да залепя 2 стринга със +.
Помощ!
Редактирано от naki на 05.11.08 21:07.
| |
Тема
|
Re: Cannot convert 'UnicodeString' to 'const wchar_t *
[re: naki]
|
|
Автор |
Formal (незнаещ) |
Публикувано | 09.12.08 18:19 |
|
Не съм писал на builder-а, но:
1) може би трябва да използваш strcat за wide string?
2) или ако UnicodeString има съответния конструктор и overloaded оператор:
UnicodeString zadanie(L"Задание - ");
Application->MessageBox(...., zadanie + ... );
| |
|
|
|
|