Autor Beitrag
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Do 09.10.14 08:24 
Wir setzten zur Zeit noch immer Delphi 2007 ein. Nicht zuletzt wegen den (Unicode-) Strings.
Hierzu habe ich eine Frage: Wenn ich von Delphi 2007 auf XE 7 umsteigen würde, was müsste ich tun um weiterhin mit Ansistrings arbeiten zu können? Gibt es einen Compilerschalter, der XE 7 dazu bringt das Schlüsselwort "string" als Ansistring zu behandeln, oder müsste ich alle "string" durch "ansistring" ersetzen? Oder gibt es noch weitere Möglichkeiten?
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Do 09.10.14 09:12 
Einen Compilerschalter gibt es dafür nicht. Du kannst also entweder alle Strings als AnsiStrings, Chars als AnsiChars und PChars als PAnsiChars deklarieren (und nebenbei alle evtl. API-Aufrufe, die mit Zeichen oder Zeichenketten arbeiten, explizit auf die Ansi-Variante umstellen), oder einfach mit Unicode arbeiten. Was dabei zu beachten ist, hat Emba z.B. hier beschrieben: docwiki.embarcadero....BCr_Unicode_anpassen

Für diesen Beitrag haben gedankt: Tastaro
Tastaro Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Do 09.10.14 09:20 
oO. Danke für die Antwort. Ich denke wir werden noch etwas länger mit Delphi 2007 arbeiten. :)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 09.10.14 11:03 
Wobei es nur relativ wenige Fälle gibt, in denen es nötig ist mit AnsiStrings zu arbeiten. Meistens braucht man das nicht.

Und bei API Aufrufen ist es ohnehin falsch, wenn man z.B. PAnsiChar aber nicht die ...A Variante der API nutzt. Nutzt man aber PChar und die Variante ohne A am Ende, gibt es auch mit Unicode normalerweise keine Probleme...

Wo konkret liegt denn der Grund, dass du AnsiStrings in so großem Maße benötigst, wenn man fragen darf?
Tastaro Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Do 09.10.14 13:03 
Unsere Projekte haben ein paar Millionen Codezeilen mit binären Dateien, binären Übertragungsprotokollen, zugekauften sowie über die Jahre selbst entwickelten Komponenten usw.
Es wird wahrscheinlich günstiger sein das aktuellste Projekte davon in einer neue Version komplett neu aufzusetzen und die älteren auslaufen zu lassen.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 09.10.14 14:41 
Da wäre ich mir nicht so sicher... solange der Code einigermaßen sauber geschrieben ist, ist der Aufwand für eine Umstellung meistens überschaubar. (Jedenfalls im Vergleich zu einem kompletten Neuanfang)
Aber letztlich kann man das von außen natürlich nicht beurteilen.

Wir haben zuerst auch Schlimmes befürchtet, aber am Ende ging es dann seinerzeit schneller als gedacht.