Warum das nicht geht, kann ich auch nicht sagen. Anscheinend darf man die Create-Procedure nicht verändern. Aber ein Vorschlag zum Workaround:
Mach dir eine Procedure, die genau die erweiterung deiner Create-Procedure ernthält und rufe in dieser die FormCreate Procedure auf:
Delphi-Quellcode:
/// Dies muss in Die TForm1:
procedure CreateFormWithPanels( uebergabe: Byte);
type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
Panel : array of TPanel;
end;
var
Form2, FormKnopf1, FormKnopf2 : TForm2;
implementation
{$R *.DFM}
procedure TForm2.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
//Stay
end;
procedure TForm1.CreateFormWithPanels(uebergabe : Byte);
var
i : Byte;
begin
Form2 := TForm2.Create();
for i := 1 to uebergabe do
begin
Panel[i] := TPanel.Create(self);
with Panel[i] do
begin
parent := self;
top := 100;
left := 25 +((i-1)*35);
height := 33;
width := 33;
caption := IntTo Str(i);
end;
end;
end;