Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Unicode zwingend oder optional? (https://www.delphipraxis.net/177348-unicode-zwingend-oder-optional.html)

taaktaak 1. Nov 2013 15:54

Unicode zwingend oder optional?
 
Moin, Moin.
Aufgrund des aktuellen Upgradeangebots überlege ich, vielleicht doch von Delphi 7 aufzusteigen. Ein wesentlicher Hinderungsgrund ist, dass ich Unicode nicht benötige und mich da auch nicht umstellen möchte. Nun habe ich folgendes bei embarcadero gefunden:
Zitat:

Compiler-Flags
Es wurden Flags hinzugefügt, damit Sie festlegen können, ob der Standard-String-Typ ein UnicodeString oder ein AnsiString ist. Damit lässt sich Code beibehalten, der ältere Versionen von Delphi und C++Builder in demselben Quelltext unterstützt.
Wie ist das zu verstehen?
Kann ich damit die IDE / den Compiler so einstellen, dass für mich ALLES beim Alten bleibt und NICHTS am Quelltext geändert werden muss?

Bernhard Geyer 1. Nov 2013 15:59

AW: Unicode zwingend oder optional?
 
Zitat:

Zitat von taaktaak (Beitrag 1234192)
Moin, Moin.
Aufgrund des aktuellen Upgradeangebots überlege ich, vielleicht doch von Delphi 7 aufzusteigen. Ein wesentlicher Hinderungsgrund ist, dass ich Unicode nicht benötige und mich da auch nicht umstellen möchte. Nun habe ich folgendes bei embarcadero gefunden:
Zitat:

Compiler-Flags
Es wurden Flags hinzugefügt, damit Sie festlegen können, ob der Standard-String-Typ ein UnicodeString oder ein AnsiString ist. Damit lässt sich Code beibehalten, der ältere Versionen von Delphi und C++Builder in demselben Quelltext unterstützt.
Wie ist das zu verstehen?
Kann ich damit die IDE / den Compiler so einstellen, dass für mich ALLES beim Alten bleibt und NICHTS am Quelltext geändert werden muss?

Du kannst deine Units die du verwendest mit diesem Flag ausstatten so das dort String = AnsiString ist.
An der VCL/RTL kannst du nix ändern. Bei der ist und bleibt String = Unicodestring.
Der Compilerschalter soll nur die Umstellung vereinfachen.

taaktaak 1. Nov 2013 16:01

AW: Unicode zwingend oder optional?
 
Vielen Dank für die Antwort!
Dann ist also doch eine Umstellung zwingend erforderlich :cry:
Da muss der "alte Mann" noch einmal überlegen ...

himitsu 1. Nov 2013 16:24

AW: Unicode zwingend oder optional?
 
In der RTL gibt es noch einige optionale Dinge für ANSI.

z.B. die Units Delphi-Referenz durchsuchenAnsiStrings und viele Funktionen sind sowieso doppelt vorhanden.

Bjoerk 2. Nov 2013 11:37

AW: Unicode zwingend oder optional?
 
Das ist ja mal eine gute Nachricht. Vielleicht hol ich mir dann noch mal eine neue Delphi Version

Wie iss'n das mit den Api aufrufen? Werden die normalen dann nach A umgeleitet?

jaenicke 2. Nov 2013 12:12

AW: Unicode zwingend oder optional?
 
Zitat:

Zitat von Bjoerk (Beitrag 1234255)
Wie iss'n das mit den Api aufrufen? Werden die normalen dann nach A umgeleitet?

Nein, nach W wegen Unicode. Solange du entweder immer PAnsiChar / PWideChar und die Funktionen und Strukturen mit A oder W explizit benutzt hast oder PChar und die Funktionen ohne A oder W sollten die Aufrufe in aller Regel ohne Änderung funktionieren.

Probleme gibt es meistens nur bei Programmierfehlern wie Struktur mit A am Ende und Funktion ohne A oder ähnliches.

Nimm doch einfach mal die Trial und probiere es aus. Bedenklich sind dann Meldungen wie bedenkliche Typumwandlung.

Bernhard Geyer 2. Nov 2013 12:29

AW: Unicode zwingend oder optional?
 
Zitat:

Zitat von Bjoerk (Beitrag 1234255)
Wie iss'n das mit den Api aufrufen? Werden die normalen dann nach A umgeleitet?

Bis D2007 hat die VCL alle Aufrufe gegen die Ansi-Version gelinkt. Ab D2009 wird das gegen die Wide-Version gemacht.
Man kann aber problemlos immer noch die Ansi-Version explizit aufrufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz