Das stimmt nicht ich habe eine while schleife eingebaut die 100 mal durchläuft und die Prozedur bank1.kerstellen(memo1.lines[z],random(10000));
ausführt, welche immer wieder ein neues Konto erstellt.
Dein Code in Beitrag #1 sagt da aber was Anderes.
@DeddyH z wird jedesmal neu definiert (per Zufall, ein Wert zwischen 0 und der Linesanzahl des memo1)
Hier sagt ebenfalls das in Beitrag #1 Gezeigte was Anderes.
Mein Compiler würde zu dem Z Folgendes sagen.
Zitat:
[DCC Warnung] ...: W1036 Variable '...' ist möglicherweise nicht initialisiert worden
Welche Delphiversion nutzt du und der Fehler heißt wirklich "Unknown Error"?
?
2. Was ist die Bereichspfüfung?
Projektoptionen > Compiler > Laufzeitfehler > Bereichsprüfung und Überlaufprüfung
(ich bin mir aber sicher, daß F1 dort nicht stumm bleibt)
Diese Optionen sagen dem Compiler, daß er zusätzlichen Prüfcode generieren soll.
- Bereichsprüfung > schaut ob Überläufe in Berechnungen auftreten (z.B. der Wert einer Berechnung zu groß wird un nicht mehr in die Variable paßt)
- Überlaufprfung > prüft den Index, bei Array-Zugriffen, also daß nicht außerhalb des Arrays zugegriffen wird (auf Index 5 zugreifen, aber nur 3 Elemente im Array vorhanden)
Delphi-Quellcode:
var
A: array of Integer;
SetLength(A, 3);
A[5] := 666;
Und jetzt mal mit und ohne aktivierter Bereichsprüfung ausprobieren.
Oder
Delphi-Quellcode:
var
A: array of Integer;
i: Integer;
SetLength(A, 3);
for i := 0 to Length(A) do // ein oft auftretender Fehler > for i := 0 to 3 do
A[i] := 666;