Hallo,
Ich habe mir in einer Schleife mehrere Shapes und Timer erstellt und ihnen Namen zugewiesen. Diese übergebe ich an eine Prozedur Shapecontroll. Das klappt soweit auch, nur weiß ich jetzt nicht, wie ich die jeweiligen Objekteigenschaften der Shapes und Timer anspreche.
klappt nicht, da bekomme ich die Fehlermeldung:
Was muss ich also tuen, um mit den jeweiligen Eigenschaften arbeiten zu können?
Hier mal der gesamte Quellcode:
In den Labels werden die erzeugten Namen angezeigt, allerdings weiß ich nicht ob das auch heißt, dass die Objekte erzeugt sind, wobei die Shapes zu sehen sind.
MfG Blck
Ich habe mir in einer Schleife mehrere Shapes und Timer erstellt und ihnen Namen zugewiesen. Diese übergebe ich an eine Prozedur Shapecontroll. Das klappt soweit auch, nur weiß ich jetzt nicht, wie ich die jeweiligen Objekteigenschaften der Shapes und Timer anspreche.
Code:
SName.top:=SName.top+5
Code:
Record, Object oder Klassentyp erforderlich
Hier mal der gesamte Quellcode:
Code:
procedure TForm1.FormCreate(Sender: TObject);
var
j:integer;
begin
randomize;
Leben := 20;
schritt:= 10;
Label1.caption := inttostr(Leben);
for j:=6 to 15 do
begin
SName:='Shape'+inttostr(j);
TName:='Timer'+inttostr(j);
MyTShape:=TShape.Create(Self);
MyTShape.Parent:=Form1;
MyTShape.Show;
MyTShape.Name:=SName;
MyTShape.Brush.Color:=clred;
MyTShape.height:=random(30)+10;
MyTShape.width:=random(30)+10;
MyTShape.top:=16;
MyTShape.left:=random(193)+40-MyTShape.width;
MyTTimer:=TTimer.Create(Form1);
MyTTimer.Name:=TName;
Shapecontrol(SName,TName);
end;
end;
procedure TForm1.Shapecontrol(SName,TName:string);
begin
label1.caption:=TName;
label2.caption:=SName;
SName.top:=SName.top+5;
end;
In den Labels werden die erzeugten Namen angezeigt, allerdings weiß ich nicht ob das auch heißt, dass die Objekte erzeugt sind, wobei die Shapes zu sehen sind.
MfG Blck