ich glaub den Fehler gefunden zu haben, die FOR-DO-Schleife, welche das
SQL-Script füllen sollte lautete ungefähr so:
for k := 1 to Length(myPanel)
also ich hier einmal die Länge fest vorgegeben habe (3) hats funktioniert. Also sorgte Length(myPanel) für den Fehler.
Ausserdem hatte ich wohl einen Denkfehler drin, denn die dynamische EditFeld-Erstellung mit
(i * 10) + 1
sorgt ja dafür, das im Array von myEdit die Adressen folgendermassen vergeben werden:
1,2,3,11,12,13,21,22,23
Ich denke mal bei einem Array ist das nicht unproblematisch, da die Adressierung wohl besser fortlaufend stattfinden sollte:
1,2,3,4,5,6,7,8
Jedenfalls hab ich das auch behoben, und erstmal funktionierts
Danke für den Hint Sharky
tyler
//EDIT
und ausserdem hab ich geschlafen:
im OnCreate der Form stand:
SetLength(myPanel, 1);
SetLength(myEdit, 1);
Das musste ich natürlich entfernen, und in der Procedure, in der die Komponenten dynamisch erzeugt werden folgendes ergänzen:
SetLength(myPanel, i + 1); // Anfangswert von i ist 0, wird je Panel mit 1 inkludiert
SetLength(myEdit, (i + 1) * 51); // pro Panel gibt es 5 Editfelder
Nur noch eine Frage... ich hab im Forum gelesen, das man SetLength so selten wie möglich nutzen soll, da die Funktion sehr speicherintensiv ist? Was ist an der Aussage dran?