Problem mit Unicode
-
Hallo,
ich habe mein Projekt nun auf Unicode umgestellt, und bekomme nun folgenden Compilerfehler:
"LpDoc: nicht deklarierter Bezeichner"
pDC->TextOut((Uint32_t)(1500/fDiffX), (Uint32_t)(1000/fDiffY), _T(pDoc->GetTitle()));GetTitle() gibt einen CString zurück.
Warum meldet mir der Compiler einen Fehler?
Wenn ich den Adressoperator & verwende, bekomme ich den Fehler: "L: nicht deklarierter Bezeichner"
pDC->TextOut((Uint32_t)(1500/fDiffX), (Uint32_t)(1000/fDiffY), _T(&pDoc->GetTitle()));Was soll das?
-
ich glaub
_T(&
kann man so nicht verwenden, _T ist ja nu n makro
#if Unicode
#define _T("x") L"X"
#else
#define _T("x") "x"dein code vorher war also von anfang an so schon kaese
das _T("") nur verwenden wenn du auch text angibst und keine variableCString text(_T("abba"));
//_T(text) == _T("text") != _T("abba")mach doch einfach ohne das _T()
-
Das _T verwendet man *nur* bei String-Literalen!
Also z.B.pDC->TextOut((Uint32_t)(1500/fDiffX), (Uint32_t)(1000/fDiffY), _T("Hello world"));Aber wenn Du schon ein CString/LPCTSTR zurückbekommst, dann ohne!
pDC->TextOut((Uint32_t)(1500/fDiffX), (Uint32_t)(1000/fDiffY), pDoc->GetTitle());