Einzelnen Beitrag anzeigen

Benutzerbild von runningsoft
runningsoft

Registriert seit: 8. Okt 2004
Ort: Bernau
108 Beiträge
 
Delphi 10.4 Sydney
 
#1

Unterschiede bei TTime bzw. TDateTime zwischen Delphi 3 und Delphi 2010 ?

  Alt 14. Mär 2013, 13:19
Delphi-Version: 2010
Hallo,

ich migriere gerade ein älteres Projekt, das noch jahrelang mit Delphi 3 gepflegt wurde auf Delphi 2010 und stoße auf ein Problem, dass offenbar in TTime oder TDateTime begründet liegt.

Ich habe folgenden Record:

Delphi-Quellcode:
TZwischenZeiten = record
        Startnr : integer;
      Disziplin : String[41];
      Charakter : integer;
      ZwischenZeiten : integer;
      MaxZwischenZeiten : integer;
      LaufZeit : array[1..11] of TTime;
      Uhrzeit : TDateTime;
      Status : String[6];
   end;
Vorhandene Dateien, die diese Records enthalten und mit der bisher mit Delphi 3 kompilierten Programmversion abgespeichert wurden, lassen sich nunmehr, nachdem ich das Projekt nahezu unverändert mit Delphi 2010 kompiliere, nicht mehr öffnen. Die ersten Werte - Disziplin als String und die Integerwerte Charakter, Zwischenzeiten und MaxZwischenzeiten werden noch sauber ausgelesen, aber anschließend, beim Auslesen der TTime-Werte kommt nur noch Datenmüll an.

Auch unterscheidet sich die Dateigröße eines abgespeicherten Datensatzes zwischen der Delphi3- und der Delphi10-Programmversion. Ein Datensatz mit der Delphi10-Version des Programms abgespeichert hat eine Größe von 168 Byte, während der Datensatz der Delphi3-Version nur 164 Byte groß ist.

Liege ich richtig mit meiner Vermutung, dass sich entweder TTime oder TDateTime der beiden Delphiversionen voneinander unterscheiden? Wenn ja. was könnte ich tun, um alte Dateien auf das neuere Datenformat umzuschlüsseln und wieder lesbar zu machen?

Oder bin ich vielleicht ganz auf dem Holzweg

Vielen Dank schon mal für Eure Hinweise.
  Mit Zitat antworten Zitat