Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi UniCode abschalten in D2009 ? (https://www.delphipraxis.net/127287-unicode-abschalten-d2009.html)

moelski 10. Jan 2009 10:56


UniCode abschalten in D2009 ?
 
Moin !

Leute jetzt haut mich nich gleich, aber wir waren letztes Jahr auf einer Delphi 2009 Verführung. Dort hat man gesagt es gäbe einen Compilerschalter in D2009 um UniCode komplett abzuklemmen.

Ist da wirklich was dran? Gibt es diesen Schalter wirklich und wenn ja könnte ihn mal jemand verraten?

mkinzler 10. Jan 2009 10:59

Re: UniCode abschalten in D2009 ?
 
Nein, diesen Schalter gibt es nicht.
Hast du dich den Verführen lassen? :lol:

moelski 10. Jan 2009 11:02

Re: UniCode abschalten in D2009 ?
 
Moin !

Zitat:

Hast du dich den Verführen lassen?
Vermutlich :)

Die Frage ist halt ... Was machen mir mit 98, ME, NT Usern. Diese System sind eben noch (gerade in dem Bereich wo wir uns tummeln) weit verbreitet...

mkinzler 10. Jan 2009 11:07

Re: UniCode abschalten in D2009 ?
 
D2009 unterstützt diese Betriebssysteme nun nicht mehr

moelski 10. Jan 2009 11:09

Re: UniCode abschalten in D2009 ?
 
Jo das is mir bewusst :-)

Bernhard Geyer 10. Jan 2009 14:01

Re: UniCode abschalten in D2009 ?
 
Willst du alte System wie 98/ME noch unterstützen so mußt du halt D2007 verwenden. Bei MS wirst du auch keine unterstützung mehr für solche alte System mehr finden (.NET 3.x und größer laufen erst ab XP). NT könnte evtl. noch gehen, aber wo ist das noch in relevanten Umfang im Einsatz?

moelski 10. Jan 2009 14:09

Re: UniCode abschalten in D2009 ?
 
Moin !

Nunja wir erstellen Software für den Modellbaubereich. Und da sind 98er Systeme noch Gang und Gebe.
Wenn wir jetzt das kappen würden wir schätzungsweise 30% der User "verlieren" ...

Luckie 10. Jan 2009 14:20

Re: UniCode abschalten in D2009 ?
 
Ihr müsst doch noch Lizenzen für die alten Delphi Versionen haben oder mit was habt ihr die Software vorher entwickelt?

moelski 10. Jan 2009 14:32

Re: UniCode abschalten in D2009 ?
 
Na klar ham wir die.
Wir werden auch erstmal weiter 2007 nutzen.

Was ich allerdings an 2007 vermisse ist die Hilfe. Die ist unter 2009 einfach besser geworden.
Hoffentlich kommt da mal ein Update...

mkinzler 10. Jan 2009 14:33

Re: UniCode abschalten in D2009 ?
 
Aktualisierte Hilfen: http://docs.codegear.com/

moelski 10. Jan 2009 14:36

Re: UniCode abschalten in D2009 ?
 
Danke für den Link.
Help Update 4 - May/June 08 habe ich schon drauf.

Aber ich meine das beim 2009er in der Hilfe deutlich mehr Beispiele eingefügt wurden.
Das ist in der 2007er Hilfe doch arg spärlich ...

mkinzler 10. Jan 2009 14:41

Re: UniCode abschalten in D2009 ?
 
Man könntest sich dort die Hilfe für D2009 herunterladen und hoffen, das die Beispiele auch unter D2007 funktionieren

himitsu 11. Jan 2009 23:00

Re: UniCode abschalten in D2009 ?
 
Was mich mehr stört, ist die unverständlicher Art der Unicodeimplementierung.

vorallem daß z.B. AnsiLowerCase urplötzlich Unicode ist, obwohl da was von ANSI steht und dafür andere Funktionen ANSI, obwohl ich da Unicode erwartet hätte.

Und nö, da z.B. die ganze WinAPI einfach nur so umgestellt wurde und kein Schalter eingebaut wurde ... da verwende ich doch lieber eigene API-Implementationen, wo ich mir schon seit über 'nem Jahr soeinen Schalter reingemacht hab.

toms 14. Jan 2009 10:54

Re: UniCode abschalten in D2009 ?
 
Zitat:

Zitat von moelski
Ist da wirklich was dran? Gibt es diesen Schalter wirklich und wenn ja könnte ihn mal jemand verraten?

Andreas Hausladen hat in seinem Blog einen Artikel dazu veröffentlicht

Sereby 9. Feb 2009 09:49

Re: UniCode abschalten in D2009 ?
 
theoretisch müsse es mit folgendem gehen
Delphi-Quellcode:
{$UNDEF UNICODE}
denn in vielen Units steht sowas wie folgendes
Delphi-Quellcode:
LPCTSTR = {$IFDEF UNICODE}PWideChar{$ELSE}PAnsiChar{$ENDIF};
also gibts da nen schalter für

mkinzler 9. Feb 2009 10:15

Re: UniCode abschalten in D2009 ?
 
Das setzen dieses Schalters ändert aber nichts am Compiler, sondern ermöglicht nur die Verwendbarkeit von Quellcode für verschiedene Delphi-Versionen

himitsu 9. Feb 2009 10:27

Re: UniCode abschalten in D2009 ?
 
und viele (eigentlich fast alle) API-Funktionen sind auch noch statisch verlinkt (nix mit Umschalter)

z.B.:
Delphi-Quellcode:
function CreateFile(lpFileName: PWideChar; ...): THandle; stdcall;
{$EXTERNALSYM CreateFile}
function CreateFileA(lpFileName: PAnsiChar; ...): THandle; stdcall;
{$EXTERNALSYM CreateFileA}
function CreateFileW(lpFileName: PWideChar; ...): THandle; stdcall;
{$EXTERNALSYM CreateFileW}
Wenn du da jetzt nur deinen/den Typ des übergebenen Parameters auf Ansi umstellst, dann bekommst du ein schönes Problem, bei der Verwendung von CreateFile.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 Uhr.

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