AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi runtime-objekterstellung + event crasht immer :/
Thema durchsuchen
Ansicht
Themen-Optionen

runtime-objekterstellung + event crasht immer :/

Ein Thema von shuugo · begonnen am 24. Okt 2004 · letzter Beitrag vom 24. Okt 2004
Antwort Antwort
shuugo

Registriert seit: 24. Okt 2004
4 Beiträge
 
#1

runtime-objekterstellung + event crasht immer :/

  Alt 24. Okt 2004, 02:46
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:
            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;
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)..

Delphi-Quellcode:
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;
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
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: runtime-objekterstellung + event crasht immer :/

  Alt 24. Okt 2004, 03:24
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.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: runtime-objekterstellung + event crasht immer :/

  Alt 24. Okt 2004, 03:52
Moin Shuugo,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Das Problem müsste hier zu suchen sein:

with Sender as TImage do begin und zwar in Verbindung mit dem FindComponent.

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;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
shuugo

Registriert seit: 24. Okt 2004
4 Beiträge
 
#4

Re: runtime-objekterstellung + event crasht immer :/

  Alt 24. Okt 2004, 04:54
ah thx nun gehts hatte es schonmal mit self. ausprobiert was aber leider nich ging.. hehe

jedenfalls nochmal danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz