AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Migration Delphi 6 > Delphi 2010 bzgl. Unicode
Thema durchsuchen
Ansicht
Themen-Optionen

Migration Delphi 6 > Delphi 2010 bzgl. Unicode

Ein Thema von Frederika · begonnen am 22. Okt 2009 · letzter Beitrag vom 23. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
Frederika

Registriert seit: 28. Jan 2009
81 Beiträge
 
#1

Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 22. Okt 2009, 23:20
Wie kann man die Unicode-Unterstützung abschalten? Vielleicht eine Compileroption?

Ich habe mannigfaltige Datenformat-Strukturen, die allesamt byte-genau arbeiten müssen. Wie löst man das am besten?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#2

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 22. Okt 2009, 23:26
Zitat von Frederika:
Wie kann man die Unicode-Unterstützung abschalten? Vielleicht eine Compileroption?
Direkt ist sowas nicht möglich, aber es gibt da wohl irgendwas nicht ganz Offizielles, welches angeblich teilweise funktionieren soll
Hier im Forum suchenUnicode 2009 abschalten

Zitat von Frederika:
Wie löst man das am besten?
Indem du die Strukturen anpaßt?

Char > AnsiChar
String > AnsiString
usw.

bei sowas würde ich auch direkt bei der Erstellung die Records als PACKED definieren, damit mir die Speicherausrichtung nicht mal alles kaputt macht.

http://www.delphipraxis.net/internal...=record+packed
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Frederika

Registriert seit: 28. Jan 2009
81 Beiträge
 
#3

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 22. Okt 2009, 23:34
Das ist ja megadumm gelöst von Delphi, sorry, aber wirklich. Man muss jetzt alle Char in AnsiChar wechseln? Und "String" wird zu "AnsiString"? Hätte man ja andersherum abwärtskompatibel lösen können, oder? Was bedeutet "usw."? Welche Typen muss ich noch bedenken bei der Migration? Die Delphihilfe ist da extrem mager.

Kann man die Ersetzung einfach automatisch durchführen und dann passt es? Wäre ja immerhin nicht so schwierig.

Muss man sonst noch Fallen bzgl. Unicode beachten?

(Packed ist ohnehin alles und SizeOf(MyStruct) muss natürlich auch exakt passen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#4

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 22. Okt 2009, 23:41
Delphi 2009 ist nunmal Unicode ... da ist das halt normal
(dumm sind nur andere Dinge gelöst ... viele Funktionen, wie AnsiUpperCase sind auch Unicode, obwohl sie nach Ansi klingen ... das soll laut CodeGear allerdings die Migration erleichtern, weil man diese Funktionen nicht extra umbennen muß, aber diese Namensgebung ist einfach nur scheiße )


Integer, String, Char sind halt Systemspezifische Typen ... diese waren schon immer (seit Delphi 2) so ausgelegt
Heißt, sie passen sich immer an das System an, für welchen der Compiler ausgelegt ist

AnsiString ist immer ANSI
WideString (und seit D2009 auch UnicodeString) sind immer Unicode

Integer = 32 Bit in einem 32 Bit System
und wenn Delphi mal 64 Bit kann, dann ist Integer eben 8 Byte / 64 Bit groß.


Zitat:
Kann man die Ersetzung einfach automatisch durchführen und dann passt es?
du kannst mal schauen, was dieses Refactoring alles kann ... nutze es zwar nie, aber theoretisch müßte es da Hilfreich sein
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 23. Okt 2009, 06:38
In den meisten Fällen bei sauberen Code, wenn nicht von einer festen Zeichenlänge von einem Byte ausgegangen wird anstatt diese zu ermittlen oder Funktionen verwendet werden, welche AnsiString erwarten, kann man auch String stehen lassen. Dies ist auch der zu bevorzugende Weg. Falls das nicht funktioniert sollte man versuchen die Ursache zu finden und zu beheben.
Markus Kinzler
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 23. Okt 2009, 11:33
Zitat von himitsu:
Integer = 32 Bit in einem 32 Bit System
und wenn Delphi mal 64 Bit kann, dann ist Integer eben 8 Byte / 64 Bit groß.
Da CodeGear bis jetzt sich der Windows Platform angepasst hat, gehe ich davon aus (und habe auch schon entsprechendes gelesen), dass sie Microsoft folgen und das abstrakte Datenmodel LLP64 nutzen, das auch von der Win64 API eingesetzt wird.

Somit bleibt Integer ein 32 Bit Datentyp.
Zitat:
These considerations led to the selection of an abstract data model called LLP64 (or P64). In the LLP64 data model, only pointers expand to 64 bits; all other basic data types (integer and long) remain 32 bits in length.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#7

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 23. Okt 2009, 11:53
was'n das jetzt wieder

dann sieht es ja mit Codes ala Interger(Pointer) voll Scheiße aus
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 23. Okt 2009, 12:09
Man muss doch jedes Problemfeld (Fettnäpfchen) mitnehmen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 23. Okt 2009, 12:43
Hallo,

dann kann man sich ja fast überlegen, ob man sich nicht seinen eigenen Datentyp für integer anlegt und diesen bei der Einführung vom 64 Bit-Delphi nur umstellt.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#10

Re: Migration Delphi 6 > Delphi 2010 bzgl. Unicode

  Alt 23. Okt 2009, 12:58
du meinst also so wie mein TWideString (für WideString oder UnicodeString) ... ist zwar 'ne Lösung, aber macht es nicht immer leichter 'nen Code zu verstehen, wenn jetzt überall eigene/eigenwillige Typen rumschwirren
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:57 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