Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   OnClick bei zur Laufzeit erstellten Objekten (https://www.delphipraxis.net/146291-onclick-bei-zur-laufzeit-erstellten-objekten.html)

Delphi-Narr 17. Jan 2010 11:07


OnClick bei zur Laufzeit erstellten Objekten
 
Hallo,
ich habe ein Programm in dem zur Laufzeit unbegrenzt viele Objekte erstellt werden können.
Das Ganze ist eine Art MapEditor für ein Spiel. Wenn man sich jetzt aber "verklickt" und das Objekt falsch setzt, muss man sich bisher die zugeordnete Nummer merken, die vom Programm vergeben wird und im Quelltext der Map das Objekt mit der Nummer manuell löschen.
Anschließend muss die Map wieder neu in den Mapeditor geladen werden.
Jetzt meine Frage, wie schaffe ich es, dass jedem erstellten Objekt ein Onclick-Ereignis zuzuweisen. Dieses OnClick-Ereignis soll dann das Objekt löschen und es aus der Liste mit den erstellten Objekten löschen (Das ist soweit kein Problem).
Nur wie bekomme ich ein individuelles OnClick Ereignis hin?

Liebe Grüße!

toms 17. Jan 2010 11:10

Re: OnClick bei zur Laufzeit erstellten Objekten
 
Hallo,

Würde sagen so: Bei Google suchenOnClick Laufzeit Delphi

Delphi-Narr 17. Jan 2010 11:22

Re: OnClick bei zur Laufzeit erstellten Objekten
 
Also ich habe schon mehrfach hier gesucht, hab das nur nicht richtig verstanden.

Wenn ich das Objekt nun auf der Form aufziehe, soll onMouseUp dem Objekt eine Prozedur zugewiesen werden. Die soll dann ungefähr so aussehen:

Delphi-Quellcode:
var i:integer;

begin
i:=0;
Sender.destroy //oder .free???
while SL[i]<>Sender.name do
begin
     i:=i+4;
end;

//Alle Einträge zum Objekt aus der Liste löschen

end;

Was muss ich denn jetzt genau bei MouseUp eintragen.

Benennung der Shapes:

TypA_{Zufallsstring aus 5 Buchstaben}_{fortlaufende Nummer}

TypB_{Zufallsstring aus 5 Buchstaben}_{fortlaufende Nummer}


In der Liste SL ist jedes Element folgendermaßen eingetragen:

{Name}
{Wert1}
{Wert2}
{Wert3}
{Wert4}
{Name}
{Wert1}
{Wert2}
{Wert3}
{Wert4}

...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz