Autor Beitrag
Laaeris
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

Win XP
Delphi 7
BeitragVerfasst: Di 30.12.08 18:12 
Hallo zusammen,

ich sehe hier wahrscheinlich den Wald or lauter Bäumen nicht, aber vielleicht könnt Ihr mir helfen.
Ich habe einen Array von dynamischen Checkboxen (ist Delphi 7), es handelt sich um maximal 40 Boxen.
Bei Box 31 steigt er immer aus - komisch, da auch in einem anderen THread die 31 genannt wurde... :-?

Und so mache ich es (Unwichtiges habe ich entfernt):

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
procedure TPW.OkayClick(Sender: TObject);
Var CB_Array       : Array of TCheckbox;
Begin
        DataModul.Macht.Active:=TRUE;
        Anzahl:=DataModul.Macht.RecordCount;
        SetLength(CB_Array, Anzahl);
        DataModul.Macht.First;
        WHILE NOT DataModul.Macht.EOF Do
          Begin (*nun den Status aller dieser Mächte dieser Runde anzeigen*)
            Nummer:=DataModul.Macht.FieldValues['MAN_POS'];
      hier----->      CB_Array[Nummer]:=TCheckBox.Create(ReihenfolgeMaechte);
            CB_Array[Nummer].parent:=ReihenfolgeMaechte;
            CB_Array[Nummer].Caption:=DataModul.Macht.FieldValues['MACHT'];
            CB_Array[Nummer].Alignment:=taLeftJustify;
            IF(Nummer<21)Then
              Begin (*die ersten 20*)
                CB_Array[Nummer].Left:=8;
                CB_Array[Nummer].Top:=Nummer*24;
              End   (*die ersten 20*)
            Else
              Begin (*die zweiten 20*)
                CB_Array[Nummer].Left:=150;
                CB_Array[Nummer].Top:=Nummer*24;
              End;  (*die zweiten 20*)
            CB_Array[Nummer].Checked:=DataModul.Macht.FieldValues['MAN_PROC'];
            CB_Array[Nummer].Font.Style:=[];
            DataModul.Macht.Next;
          End;  (*nun den Status aller dieser Mächte dieser Runde anzeigen*)


An der markierten Stelle steigt er bei der 31. Checkbox (reproduzierbar) mit einem Range Check Error aus. Warum?

Viele Grüße

David

_________________
Lieber gut machen statt besser wissen.
Laaeris Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17

Win XP
Delphi 7
BeitragVerfasst: Di 30.12.08 18:29 
...sorry, ignoriert das, war ein simpler Array-ZUweisungsfehler (eben mein "Wald").

Mea Culpa!

David

_________________
Lieber gut machen statt besser wissen.