#define unicode probléma

#define unicode probléma
2008-08-18T14:23:56+02:00
2008-10-17T18:19:52+02:00
2022-11-11T07:10:38+01:00
Calmarius
Egy programot szerettem volna átírni úgy, hogy unicode szöveget is kezeljen, olvastam is sok helyen, hogy egy #define UNICODE kell a program legelejére, és probléma megoldva. Eleinte dolog működni is látszott, mivel minden char-os dolgot át kellett írnom benne wchar_t-re, mert különben hibát írt. Miután ezek ki lettek javítva meglepett ezzel:

Info :Compiling D:\c__~1\windows\win32\travia~1\farmer.cpp Error: system.h(274,2):Cannot convert 'TSystem::TVersionInfo * const' to '_OSVERSIONINFOW *' Error: system.h(274,2):Type mismatch in parameter 'lpVersionInformation' in call to '__stdcall GetVersionExW(_OSVERSIONINFOW *)' Error: system.h(299,2):Cannot convert 'const char *' to 'const wchar_t *' Error: objstrm.h(224,3):Cannot convert 'const char *' to 'const wchar_t *' Error: objstrm.h(761,2):Could not find a match for 'filebuf::filebuf(int,wchar_t *,int)' Error: objstrm.h(838,2):Body has already been defined for function 'operator >>(ipstream &,wchar_t &)' Error: objstrm.h(844,2):Body has already been defined for function 'operator >>(ipstream &,wchar_t &)' Error: objstrm.h(918,2):Body has already been defined for function 'operator <<(opstream &,wchar_t)' Error: objstrm.h(924,2):Body has already been defined for function 'operator <<(opstream &,wchar_t)' Error: memory.h(65,69):Cannot convert 'wchar_t *' to 'char *' Error: memory.h(65,69):Type mismatch in parameter 'lpsz' in call to '__stdcall CharUpperBuffA(char *,unsigned long)' Error: memory.h(66,69):Cannot convert 'wchar_t *' to 'char *' Error: memory.h(66,69):Type mismatch in parameter 'lpsz' in call to '__stdcall CharLowerBuffA(char *,unsigned long)' Error: memory.h(254,75):Default argument value redeclared for parameter 'minAllocSize' Error: defs.h(146,63):Cannot convert 'const char *' to 'const wchar_t *' Error: defs.h(146,63):Type mismatch in parameter 'lpText' in call to '__stdcall MessageBoxExW(HWND__ *,const wchar_t *,const wchar_t *,unsigned int,unsigned short)' Error: defs.h(146,63):Cannot convert 'const char *' to 'const wchar_t *' Error: defs.h(146,63):Type mismatch in parameter 'lpCaption' in call to '__stdcall MessageBoxExW(HWND__ *,const wchar_t *,const wchar_t *,unsigned int,unsigned short)' Error: module.h(987,2):Cannot convert 'char *' to 'wchar_t *' Error: module.h(987,2):Type mismatch in parameter 'lpFilename' in call to '__stdcall GetModuleFileNameW(HINSTANCE__ *,wchar_t *,unsigned long)' Error: module.h(1025,2):Cannot convert 'const char *' to 'const wchar_t *' Error: module.h(1025,2):Type mismatch in parameter 'lpType' in call to '__stdcall FindResourceW(HINSTANCE__ *,const wchar_t *,const wchar_t *)' Error: module.h(1090,2):Cannot convert 'const char *' to 'const wchar_t *' Error: module.h(1090,2):Type mismatch in parameter 2 in call to 'TUser::GetClassInfoW(HINSTANCE__ *,const wchar_t *,tagWNDCLASSW *)' Error: module.h(1126,2):Cannot convert 'const char *' to 'const wchar_t *' Error: module.h(1126,2):Too many error or warning messages

Borland C++ 5.0-át használok, és a headereket azért nem szeretném megbütykölni. A kérdésem az, hogy mit kell még beírni vagy beállítani, hogy leforduljon és működjön a program?
Mutasd a teljes hozzászólást!
Azokat is át kell írni.
A forrásfileok megvannak? Ha igen, akkor azokat is módosítani kell, másképp nem fog működni. Ha nincsenek meg, akkor szívás van.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd