War eigentlich nur ein Schuss ins Blaue... Na schauen wir mal.
Das sieht sehr verdächtig aus:
Quelltext
1: 2: 3: 4:
| Stream.ReadBuffer(intGroesse, SizeOf(intGroesse)); chrText := ' '; Stream.ReadBuffer(chrText, intGroesse); Attribute[intI].Typ := chrText; |
Hier packst du in eine Char-Variable (Grösse : 1 Byte) mehrere Bytes (abhängig von intGroesse), überschreibst also den Speicher hinter dem Chr. Was wolltest du ursprünglich damit bezwecken?
Da soll doch nur EIN Buchstabe eingelesen werden, wieso liest du dann intgroesse vorher ein? Es muss immer lauten
Quelltext
1:
| Stream.ReadBuffer(ChrText, SizeOf(ChrText)); |
da die Grösse (im Gegensatz zu einem String) immer die gleiche ist!
Das gleiche gilt auch für den Integerwert intAnzahl. Das sind immer 4 Byte, immer SizeOf(intAnzahl). Wieso Intgroesse einlesen?
Cu,
Udontknow