@bei einem klick auf das einheiten image. eingentlich wollt ich das so haben , das ich mit der maus über das Einheitenbild
fahre und dann mit druck auf taste "entf" loeschen kann. aber da ich noch object und klassenneuling bin ist mir das zu hoch.
@TStringlist
bitte schau dir mal folgende Procedure an, so wollt ich das loesen. aber ich hab immer ne exeption bekommen und sehe nicht warum . lass die Liste erstmal beiseite , die brauch ich erst spaeter für die netzwerksyncronisation. nehmen wir mal ich
habe 3 Mapobjecte erstellt. dann sollten diese objecte die namen Mapobject1,mapobject2 und mapobject3 haben. warum zum
Teufel kann ich sie dann aber nicht über diesen bezeichner ansprechen???
Delphi-Quellcode:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Const NamePrefix='Mapobject';
begin
if ssleft in shift then
begin
TMapObject.Create(self,X,Y,'Panzer').Name := NamePrefix+inttostr(i); //bei jedem aufruf eindeutiger objectname erteilt
Liste.add(MapObject);
Label1.caption:=inttostr(Liste.count);
Label2.Caption:=inttostr(x)+' , '+inttostr(y);
Form1.Image1.OnMouseDown:=nil;
inc(i) //i:=globale variable im form create auf 1 gesetzt!
end;
end;
// so hatte ich mir das gedacht , im onklick von einheitenimage, anzeige von Einheitenname auf objectname setzten (zum Test)
TMapObject.imageclick(Sender: TObject);
begin
einteitenname.caption:=FindComponent(NamePrefix + IntToStr(i)).name; // exeption bei klick auf einheitenbild, warum ???
//meinetwegen auch mapobjectx.destroy oder auch Mapobject+Inttostr(i).destroy // immer ne exeption
^
end; // hier ist mein Problem //