![]() |
runtime-objekterstellung + event crasht immer :/
ich hoff mir kann jemand helfen :)
wenn ich zur laufzeit ein objekt erstelle (in dem fall ein TImage) und ihm ein OnClick event zuweisen will ..
Delphi-Quellcode:
und später mit der ImageClick prozedur ein anderes bild verschwinden lassen will (in dem fall das pic mit dem namen UserXNameBubble und dem selben tag als X wie das angeklickte pic)..
Image:=TImage.Create(Fighting);
try with Image do begin Parent:=self; Name:= 'User' + inttostr(j) + 'NameBubble'; Tag:=j; Visible := true; AutoSize := true; Transparent := true; OnClick:= ImageClick; end; except Image.Free; end;
Delphi-Quellcode:
bekomm ich immer eine zugriffsverletzung.. theoretisch müsste es ja so gehen, da die komponente, die angeklickt wird auch eine dazugehörige namebubble hat und in derselben form steckt. werd noch verrückt, ich find einfach nich den fehler :wall:
procedure TFighting.ImageClick(Sender: TObject);
begin with Sender as TImage do begin ChatWindow.Lines.Add(inttostr(Tag) + ' ' + Name); ChatWindow.Lines.Add('User' + inttostr(Tag) + 'NameBubble'); (FindComponent('User' + inttostr(Tag) + 'NameBubble') as TImage).Visible := false; end; end; |
Re: runtime-objekterstellung + event crasht immer :/
Hallo shuugo,
herzlich willkommen im Delphi-PRAXIS Forum. An welcher Stelle tritt denn genau der Fehler auf? Hast du noch andere Komponenten, die ähnlich heißen, so dass eventuell die gefundenen Komponente nicht korrekt auf ein TImage gecastet werden kann? Und ist der Sender auch immer ein TImage oder rufst du die Procedure auch von einer anderen Stelle auf, so dass Sender eben kein TImage ist. Es macht vor solchen Castings immer Sinn mit dem is - Operator zu prüfen, ob die Komponente überhaupt ein TImage ist. Wenn übrigens beim Create etwas schief geht, merkst du es nicht, sondern Image ist nach Image.Free undefiniert und kann beim späteren Zugriff zu dem angesprochenen Fehler führen. Laufe einmal Schritt für Schritt durch diese Code Stücke und schau dir Image genau an. |
Re: runtime-objekterstellung + event crasht immer :/
Moin Shuugo,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Das Problem müsste hier zu suchen sein:
Delphi-Quellcode:
und zwar in Verbindung mit dem FindComponent.
with Sender as TImage do begin
So wie Du es geschrieben hast, wird nämlich das FindComponent des TImage, das angeklickt wurde aufgerufen, und müsste als Container des gesuchten Images dienen, damit es gefunden wird. So müsste es gehen:
Code:
([b][color=red]Self.[/color][/b]FindComponent('User' + inttostr(Tag) + 'NameBubble') as TImage).Visible := false;
|
Re: runtime-objekterstellung + event crasht immer :/
ah thx nun gehts :) hatte es schonmal mit self. ausprobiert was aber leider nich ging.. hehe
jedenfalls nochmal danke :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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