Delphi-Quellcode:
SetLength(TempLokArray, Index+1);
//Daten werden ins Array geschrieben
Array[Index].Var1:= Datensatz.Var1;
Du verwendest da zwei verschiedene Arrays. Willst du das wirklich?
Übrigens: Man verwendet nicht einfach den Variablennamen
Array!
Oh, das ist natürlich ein Schreibfehler, den Code aus meinem Programm habe ich nachträglich noch verändert
. Und dass man nicht Array als Variablenbezeichnung verwenden sollte, ist mir auch klar, sonst wäre mein Problem erst gar nicht aufgetreten und ich würde mich noch mit merkwürdigen Compilermeldungen rumärgern
.
Wird natürlich sofort korrigiert.
Das mit dem Bereichscheck habe ich jetzt mal oberflächlich schnell probiert, bei dem Fall
high(BufferArray)<0
kommen zwar Fehlermeldungen, die ich im einzelnen jetzt nicht analysiert habe, das muss ich dann noch mal ganz in Ruhe morgen machen; Aber im anderen Fall
high(BufferArray)<Index
wie gewohnt keine Fehlermeldung, nur hüpfendes Icon. Wie gesagt, ich werde mich morgen damit noch mal in Ruhe auseinandersetzen.
[EDIT] Ich weiß jetzt doch, warum bei der Bereichsprüfung im 1. Fall ein Fehler auftritt. Während der 1. Durchlauf noch "richtig" durchläuft, steht im Zweiten ja schon etwas in der Datei drin, deswegen gilt nicht mehr high(BufferArray)<0 und das Programm springt gleich in den Text zum auslesen der Daten und will auf Bufferarray[1] zugreifen, geht nicht, da Bufferarray ja nur ein Objekt beinhaltet. Das nur so am Rande.