Spezielle Buchstaben mit TextOut ausgeben
-
Ich weiss es nicht.
Wie gseagt ich arbeite noch mit VS 6 und dort finde ich unter den angegebenen Einstellungen keine Auswahl für den Unicode...
-
Aber die Projekteinstellungen kannst Du doch finden oder?
Project -> Settings -> C++ -> General
Dort bei den Perprozessor Defines müsste UNICODE und _UNICODE drin stehen und nicht MBCS!
Ich arbeite schon lange nicht mehr mit VC6, aber IMHO ging das damals nur über defines.
PS: Stampf VC6 in die Tonne!

-
Bei mir steht MBCS drin!
Ich kann jedoch dort nichts hineinschreiben!
Wie oder wo muss ich dies ändern???Ich arbeite ansonsten auch mit VS.Net oder VS 2005 ich kann jedoch dieses Projekt nicht konfertieren, da ansonsten die exe nicht mehr funktioniert... (Datenbankanbindung funktioniert nicht mehr unter .net)
-
Ich habe nun das Projekt auf UNICODE geändert!
Wenn ich es jetzt kompilieren will, gibt es über 300 Fehler!
Kann mir jemand sagen, wieso es plötzlich so viele Fehler gibt nur weil ich den Zeichensatz geändert habe?
-
BTW: Du musst auch _UNICODE definieren!
Und die Fehler kommen wahrscheinlich daher das Du nur char und nicht TCHAR verwendet hast...
CString ist eben in einem Unicode Projekt ein wchar_t Container und in einem nicht Unicode Projekt ein char Container.In Deinem Projekt wurde die T-Notation nichtkorrekt verwendet!
-
Ok
Habe nun beide drin!z.B Diese Zeile:
ShellExecute(0,"open", strPath+"\\transfer.exe", NULL, NULL, SW_SHOW);Gibt den Fehler:
error C2664: 'ShellExecuteW' : Konvertierung des Parameters 2 von 'char [5]' in 'const unsigned short *' nicht moeglich Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder FunktionsformatVorher funktionierte dies einwandfrei!
short ist doch eine Zahl oder irre ich mich da?
-
Oder ein wchar_t!
Beschäftige Dich jetzt erstmal damit was UNICODE bedeutet!
ShellExecute(0,"open", strPath+_T("\\transfer.exe"), NULL, NULL, SW_SHOW);
-
der 3. Teil funktioniert nur das "open" funktioniert nicht! (2. Argument und nicht das 3.)
Ich habe mich damit befasst, was UNICODE bedeutet!
-
addict schrieb:
der 3. Teil funktioniert nur das "open" funktioniert nicht! (2. Argument und nicht das 3.)
Ich habe mich damit befasst, was UNICODE bedeutet!Hast Du nicht
sonst hättest Du gleich meine Flüchtigkeitsfehler gesehen: Beim ersten Parameter habe ich in der Korrektur _T nicht verwendet.ShellExecute(0,_T("open"), strPath+_T("\\transfer.exe"), NULL, NULL, SW_SHOW);
-
Ich meinte nur, dass der Compiler zur Zeit beim 3. Argument noch keinen Fehler ausgibt!

Aber danke für den Tipp! Werde dies alles mal versuchen zu ändern!