Hi,
hm also 2 dinge vorweg, in deinem Code fehlt ausjedenfall das erzeugen der Form
Delphi-Quelltext
1:
| cForm[n] := TForm.Create; |
und wenn du ein dynamisches Array hast musst du mit SetLenght() erstmal die größe des Arrays setzten bevor du damit was machen kannst.
Also ich würde dir empfehlen das ganze mit Zeigern und ner TList zu Lösen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| type pForm = ^TForm;
var aForm : pForm; n : integer; Liste : TList;
procedure TFormMain.FileForm1Execute(Sender: TObject); begin GetMem(aForm, SizeOf(TForm)); aForm^ := TForm.Create; with aForm^ do begin inc(n); Caption := 'Form ' + IntToStr(n) end; Liste.Add(aForm); end; |
Wichtig irgendwo die Liste zu erstellen mit:
Delphi-Quelltext
1:
| Liste := TList.Create; |
und auch wieder freigeben am ende.
Delphi-Quelltext
So nun haste alle neu erstellen Formen als Pointer in der Liste. Schau am besten dann mal zu TList in die hilfe, is aber einfach zu handeln.
Ok hoffe hab hier keinen murks geschrieben, wenn doch bitte berichtigt mich
mfg
Inferno