Guten morgen
Ich habe ein kleines Problem mit meinen dynamisch zur Laufzeit erstellten Checkboxen. (chk_2 bis chk_15)...
Beim ersten öffnen der Form läuft es wie es soll, die checkboxen werden angezeigt, keine Fehlermeldung. Hier mein Sourcecode zum Erzeugen der Komponenten.
Schließe ich die Form dann wieder, und rufe sie ein zweites mal auf (es handelt sich hierbei nicht um die "Hauptform" sondern um eine die sich über frmMain aufrufen lässt) bekomm ich die Meldung "Komponente mit der Bezeichnung 'chk_2' existiert bereits". Die Form öffnet dann allerdings trotzdem und es sind auch alle Checkboxen da... Aber das kann ja auch irgendwie so nicht richtig sein^^
Hatt erst das Free vergessen, aber auch mit
Code:
procedure TfrmRechte.FormClose(Sender: TObject; var Action: TCloseAction);
begin
cbRechte.Free;
end;
funktioniert es nicht :/
cbRechte ist vom Typ TCheckBox...
Hier auch nochmal der Sourcecode wo ich die Komponenten erzeuge:
Code:
for i := 0 to dm.smtZiele.RecordCount-2 do begin
cbRechte := TCheckBox.Create(self);
cbRechte.Caption := dm.smtZiele.FieldByName('user').AsString;
cbRechte.Name := 'chk_'+dm.smtZiele.FieldByName('user_id').AsString;
cbRechte.Left := 35;
cbRechte.Top := top;
cbRechte.Parent := frmRechte;
cbRechte.Show;
top := top + 17;
dm.smtZiele.Next;
end;