Das ist der betreffende Code, der mit der Krücke klappt. TFrfrTippFeld ist ein Frame, deren Komponenten über Findcomponent angesprochen werden.
Delphi-Quellcode:
var
FMain: TFMain;
PSpiele:array[1..11] of TPanel;
Edits:array[1..11,0..3] of TEdit;
RGTipps:array[1..11] of TRadioGroup;
cbTipps:array[1..11] of TCheckBox;
implementation
...........
...........
procedure TFMain.FormCreate(Sender: TObject);
var
FRA:TFrame;
a,b:integer;
RGPuf:TRadioGroup;
begin
for a := 1 to 11 do begin
FRA := TFrfrTippFeld.Create(FMain);
with FRA do begin
left := 0;
top := 10+ (a-1)*51;
name := 'frSpiel'+inttostr(a);
height := 45;
width := 900;
end;
FRA.parent := PFeld;
PSpiele[a] := TPanel(Fra.findcomponent('PSpiel'));
PSpiele[a].Color := MitFarben[1];
TLabel(Fra.findcomponent('LNr')).Caption := 'Spiel '+inttostr(a);
for b := 0 to 4 do Edits[a,b] := TEdit(Fra.findcomponent('Edit'+inttostr(b)));
RGTipps[a] := TRadioGroup(Fra.findcomponent('RGTipp'));
cbTipps[a] := TCheckBox(Fra.findcomponent('cbTippen'));
if a = 1 then RGPuf := RGTipps[a]; //Krücke Teil 1
end;
RGTipps[1] := RGPuf; ////Krücke Teil 2
...........
...........
Zitat:
Und was sagt der Debugger, wenn du mal nach dem Wert schaust, während sich das Array langsam füllt?
Wie ich schrieb, klappt alles bis zur letzten Zuweisung. Heißt, das Array füllt sich korrekt - dann kommt die letzte Zuweisung, auch die klappt, aber dann ist RGTipps[1] = nil.
Gruß
Rüd