Entwickler-Ecke

Dateizugriff - Abspeichern von Records mit mehreren LongStrings


t-boy - So 30.03.03 18:04
Titel: Abspeichern von Records mit mehreren LongStrings
Hallo,

ich habe ein Problem mit dem Speichern dieses Arrays. Die Fehlermeldung lautet:
'Typ 'TTage' benötigt Finalization - nicht im Dateityp erlaubt'

Mit ShortString würde es funktionieren, aber ich brauch unbedingt einen LongString.



Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
TTage = record
    Datum : TDate;
    Bewohner : ansistring;    
    Notuber    : ansistring;
    Personal   : ansistring;
    Haus        : ansistring;
    HD           : ansistring;
    All            : ansistring;

  end;

Var
Daten : file of TTage;
Tage :  Array[1..365] of TTage;


mfg
t-boy


Blackmix - So 30.03.03 18:15

Hmm. Ich weiß jetzt nicht wo der Fehler liegt, aber nimm doch einfach mal String statt ansistring. Der Typ string kann von Delphi verschieden interpretiert werden.
Bei Tpyumwandlungen verhält so, als wäre er 8 Byte groß, dennoch ist er in der Lage bis 2GB (oder 4GB...ich weiß es nicht mehr) zu speichern.


MSCH - So 30.03.03 20:02

hi, ich würd das mit typisierten dateien vergessen und statt dessen Streams oder untypisierte Files nehmen.
So nach dem Motto, schreibe Länge des Strings, schreibe String. u.s.w.
Ein Record mit Langen Strings geht imho garnicht. Daher wahrscheinlich die Fehlermeldung.
grez
msch