![]() |
Delphi-Version: 2010
Ein Event mit eigendem Sender aufrufen
Also mein Problem ist ,dass ich ein Hover-Image habe und wenn ich darauf klicke(es folgt "praktisch" meinem Mauszeiger => Feldersystem) soll es den Klick auf das darunte liegende Feld projezieren habe mir also gedacht ich schreibe den aufruf ,auf das jeweilige Feld unter dem HoverImage, beim entern des Mauszeigers über das Feld neu:
Delphi-Quellcode:
Dabei ist aber das Problem ,dass ich bei TNotifyEvent meinen Sender nicht selber angeben darf :(
procedure TGame.OnFieldEnter(Sender: TObject);
... begin ... Game.HoverImage.OnClick := (Sender as TField).OnClick(Sender); ... end;
Delphi-Quellcode:
(Gleiches Problem ,wenn ich die resultierende Prozedur aus TField.OnClick direkt aufrufe)
[DCC Fehler] E2010 Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped pointer or untyped parameter'
sondern nur so:
Delphi-Quellcode:
Aber dann habe ich das HoverImage als Sender ._. wobei logischerweise das Feld als Sender übergeben werden soll.
Game.HoverImage.OnClick := (Sender as TField).OnClick;
Hatte mit dieser Problemmatik bis jetz noch nichts zu tun und ich hoffe jemand hat eine Lösung dafür :D Danke schonmal für jeden Vorschlag ^^ |
AW: Ein Event mit eigendem Sender aufrufen
Also ich hoffe, dass ich dein Problem richtig verstanden habe, aber so wie ich das verstanden habe soll bei dem Click auf dein TGame ein Click auf das HoverImage gemacht werden.
Delphi-Quellcode:
Damit weißt du dem OnClick Event aber nur eine Procedure zu, die dabei ausgeführt werden soll, also brauchst du. Bei nem Button geh:
Game.HoverImage.OnClick := (Sender as TField).OnClick;
Delphi-Quellcode:
Geht soweit ich weiß aber nur, wenn bei OnClick schon eine Methode zugewiesen wurde.
Game.HoverImageClick(Sender)
|
AW: Ein Event mit eigendem Sender aufrufen
Ich möchte bei dem Hovern über ein Feld den Parameter von der resultierenden Prozedur aus dem Klick (der ausgeführt wird wenn man auf das HoverImage klickt) fest angeben.
Delphi-Quellcode:
bzw:
procedure TGame.OnFieldEnter(Sender: TObject);
... begin ... Game.HoverImage.OnClick := (Sender as TField).OnClick(Sender); ... end;
Delphi-Quellcode:
procedure TGame.OnFieldEnter(Sender: TObject);
... begin ... Game.HoverImage.OnClick := Game.OnFieldClick(Sender); // resultierende Prozedur die hinter dem OnClick des Feldes steckt ... end; |
AW: Ein Event mit eigendem Sender aufrufen
Ich würde sagen
Delphi-Quellcode:
und in der Procedur
Game.HoverImage.OnClick:= Game.FieldClick;
Delphi-Quellcode:
ansonsten schwer zu verstehen was Du genau willst!?
procedure TGame.Field.OnClick(Sender: TObject);
begin if Sender = ????? then end oder
Delphi-Quellcode:
gruss alfold
procedure TGame.OnFieldEnter(Sender: TObject);
... begin ... Game.HoverImageClick(Sender); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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