AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

AnsiString und String

Ein Thema von ATS3788 · begonnen am 23. Dez 2012 · letzter Beitrag vom 24. Dez 2012
Antwort Antwort
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#1

AW: AnsiString und String

  Alt 24. Dez 2012, 10:28
Was mich bei Strings nervt bzw. genervt hat, ist, daß die Compiler-Direktive $H bzw. $LONGSTRINGS trotz anderseitem Versprechen der Referenz

[Zitat D2009] "Sie können den Typ ShortString aktivieren, indem Sie die Direktive {$H-} verwenden." [Zitat-Ende]

keine Wirkung hat. Egal wie man schaltet, sizeof(string) ist immer = 4, also Pointer und kein versprochener kurzer String ist und kann Längen > 255.

Es wird da vergessen zu erwähnen, daß es auch eine Compiler-Option "Standardmäßig lange Strings" gibt, die default auf TRUE steht.

Aber man lernt es ja schnell, wenn man nach der Übernahme alter Quellcodes auf die Schnauze gefallen ist.

  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.646 Beiträge
 
Delphi 12 Athens
 
#2

AW: AnsiString und String

  Alt 24. Dez 2012, 10:47
Was mich bei Strings nervt bzw. genervt hat, ist, daß die Compiler-Direktive $H bzw. $LONGSTRINGS trotz anderseitem Versprechen der Referenz
Aus der Delphi-Referenz:

Zitat:
Hinweis: Die Direktive LONGSTRINGS ist veraltet und wird vom Compiler ignoriert. Aktuelle Delphi-Compiler verwenden einen langen String-Typ, der auf Unicode-Zeichen (UnicodeString) basiert. Es wird die Verwendung des Standard-String-Typs (UnicodeString) empfohlen. Verwenden Sie für den älteren String-Typ explizit die Typen ShortString oder string[<Anzahl>].
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#3

AW: AnsiString und String

  Alt 24. Dez 2012, 11:09
Oh Ha OK

Und ich dachte es umgekehrt.
Nun verstehe ich warum das so portiert wurde.

Frohe Weihnachten
Martin MIchael
  Mit Zitat antworten Zitat
MeierZwoo

Registriert seit: 3. Dez 2012
106 Beiträge
 
#4

AW: AnsiString und String

  Alt 24. Dez 2012, 11:49
Zitat:
Hinweis: Die Direktive LONGSTRINGS ist veraltet und wird vom Compiler ignoriert. Aktuelle Delphi-Compiler verwenden einen langen String-Typ, der auf Unicode-Zeichen (UnicodeString) basiert. Es wird die Verwendung des Standard-String-Typs (UnicodeString) empfohlen. Verwenden Sie für den älteren String-Typ explizit die Typen ShortString oder string[<Anzahl>].
Steht so leider nicht in meiner Hilfe hier. Außerdem steht hier auch, daß der lange String defaultmäßig AnsiString sei - was auch nicht stimmt, weil UnicdeString benutzt wird. Evtl. sollte ich mal updaten.

Es wird aber darauf hingewiesen:
[Zitat]"Außerdem können kurze String-Typen als string[255] oder ShortString deklariert werden. Diese Typen sind eindeutig und von der Direktive $H unabhängig."[Zitat-Ende] was ich dann aus eigener Erfahrung bei alten Quellcodes eh schon gemacht habe.

Da muß man halt durch, wenn man von Borland Pascal 7(8) direkt auf Delphi 2009 umsteigt.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.646 Beiträge
 
Delphi 12 Athens
 
#5

AW: AnsiString und String

  Alt 24. Dez 2012, 12:45
Steht so leider nicht in meiner Hilfe hier. Außerdem steht hier auch, daß der lange String defaultmäßig AnsiString sei - was auch nicht stimmt, weil UnicdeString benutzt wird. Evtl. sollte ich mal updaten.
Ich beziehe mich auf das docwiki - hier http://docwiki.embarcadero.com/RADSt...rings_(Delphi)

Da hat man eigentlich immer den aktuellen Stand.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 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