Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Turbo Pascal 6 erzeugte Dateien mit Delphi XE4 lesen

  Alt 30. Okt 2014, 18:29
Zitat:
(was ja vermutlich u.a. daran liegt, dass Delphi >= 2009 den Typ String eben als Unicode String behandelt (DBC).
String ist in Delphi (k.A. seit wann, aber mindestens seit Delphi 2) ein LongString.

Vor D2009 war String ein Alia für den AnsiString und danach für den UnicodeString.
Gaaaaaaanz früher war der String das, was seit Einführung der LongStrings, nun der ShortString ist.
String[x] ist ein ShortString mit Längenangabe (maximale Länge).
Und String[255] ist der größt mögliche ShortString, also somit direkt der Typ ShortString.

Wie sehen denn die binären Daten eines Records in der Datei aus?
Bzw. was steht denn nun im ersten Record, nach dem Auslesen? (die Bytes stimmen also, aber was steht in dem ersten String)




Eventuell kann man es auch mal mit einem T_Settings = packed Record versuchen, bzw. mit {$ALIGN ...} rumspielen.

Kann es sein, daß er erste Record noch stimmt, aber die nachfolgenden nicht mehr? Auch das könnte am Align liegen, denn die Daten in deinem Record sind 9*1+2*256 Byte groß. (1 Byte zu groß, für ein Align von 4 oder 8)

Du hast nicht zufällig noch TP6 installiert?
Wie groß ist dort denn ein SizeOf(T_Settings) und wie groß im Delphi?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Okt 2014 um 18:39 Uhr)
  Mit Zitat antworten Zitat