TImage löscht sich selbst bei OnClick
-
Hat einer eine Idee, wie man soetwas umsetzen kann?
void __fastcall MyClass::Funktion(void) { Image = new TImage(ScrollBox1); /*...*/ Image->OnClick = OnClick; } void __fastcall MyClass::OnClick(TObject *Sender) { delete Image; }Gibt immer eine Fehlermeldung, da die Funktion nach dem delete immernoch weiterläuft.
-
Hi,
reicht es vielleicht auch, wenn du es so machst?
void __fastcall MyClass::OnClick(TObject *Sender) { Image->Hide(); }mfg
Jakel
-
Wenn gar nichts mehr geht, dann schon.
Allerdings könnten es nach ner Zeit unfassbar viele Bilder werden und darum wäre es einfach besser, wenn die gelöscht werden bei OnClick.
-
void __fastcall MyClass::OnClick(TObject *Sender) { Image->OnClick = EmptyFunc; delete Image; }Vielleicht kannst du es auf diese Art und Weise austricksen?
-
Image->OnClick = 0;
-
Image1 eine leere Funktion zu geben hab ich auch schon versucht, das funktioniert leider auch nicht.
Ich habe das jetzt so gemacht, dass ein Timer aktiviert wird, der dann nach 50ms die Aufgabe übernimmt.
-
Oder
- eine Message an z.B. Hauptform senden
- dort eine Behandlung dafür schreiben
- in dieser delete Image machen oder ne spezielle Funktion dazu erzeugen
(in MyClass)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Die Message mit PostMessage absetzen
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!