![]() |
image wird nicht geladen
hallo, ich habe eine prozedur, die auf ein onclickereignis reagiert.
Code:
diese prozedur setzt count auf 1 wenn auf das erste bild geclickt wird und auf 2 wenn auf das 2. geclickt wird. das funktioniert auch alles, nur wird nach dem 2. click das image nicht geladen, der erst der dahinter steht geht aber problemlos#
procedure TForm1.OnImgClick(Sender: TObject);
begin If Sender is TIDImage then Inc(count); if count=1 then begin Sender1:=Sender; (Sender1 as TIDImage).Picture.LoadFromFile('Icons/'+(Sender1 as TIDImage).ID+'.ico'); (Sender1 as TIDImage).Enabled:=false; end; if count=2 then begin if Sender<>Sender1 then begin (Sender as TIDImage).Picture.LoadFromFile('Icons/'+(Sender1 as TIDImage).ID+'.ico'); (Sender as TIDImage).Enabled:=false; count:=0; versuche:=versuche+1; sleep(1000); if (Sender1 as TIDImage).ID=(Sender as TIDImage).ID then begin (Sender as TIDImage).hide; (Sender1 as TIDImage).hide; Punkte:=Punkte+1; StatusBar1.Panels[0].Text:='Punkte: '+IntToStr(punkte); end else begin (Sender1 as TIDImage).Enabled:=true; (Sender1 as TIDImage).Picture.LoadFromFile('Icons/Hintergrund2.bmp'); (Sender as TIDImage).Enabled:=true; (Sender as TIDImage).Picture.LoadFromFile('Icons/Hintergrund2.bmp'); end; StatusBar1.Panels[1].Text:='Versuche: '+IntToStr(versuche); end; end; end; habt ihr da irgendeinen rat für mich? |
Gibt es im aktuellen Verzeichnis einen Unterordner "Icon" mit der benötigten Icon-Datei?
|
ja, das is es ja eben, beim click auf das erste bild wird das bild ja auch geladen, halt nur beim 2. nicht
|
Du hast den Pfad zum Bild relativ angegeben. Das ist Käse, da das nur funktioniert, wenn deine Anwendung aus dem Explorer gestartet wird und zwischen durch durch einen Öffnen- oder Speicherndialog der aktuelle Pfad nicht geändert wird.
Hol dir lieber mit ParamStr(0) den Pfad zu deiner Anwendung und bastel dir den Pfad zu dem Ordner mit ExtractFilepath zusammen. |
meinste das liegt daran? aber beim ersten bild und den mouseenter und mouseleave geht das ja mit dieser angabe alles....
naja ich werds mal testen |
tja, wie sollte es auch anders sein, es ändert sich nichts, also so langsam werde ich noch wahnsinnig :nerd:
|
Doch es hat sich jede Menge geändert. So ist es richtig. Wir haben erstmal sichergestellt, dass die Bilder auf alle Fälle gefunden werden.
Jetzt setzt mal einen Break-Punkt in der Prozedur und dann geh mal in einzel Schritten durch. |
Zitat:
Zitat:
|
Zitat:
|
Ich habe das so gemeint, wie du mit der Zeitbombe. :wink:
|
tja, beim debuggen passiert genau das selbe, und es tritt kein fehler oder sonstiges auf
|
Zitat:
|
tja, das weiß ich ja eben nicht, der punkt wird durchlaufen, doch das bild nich geladen, danach gehts weiter, ich hab auch nich so recht ahnung vom debuggn also wenn ich an dem punkt irgendwas besonderes machen muss, wäre nett wenn ihr mir sagen könntet was genau :roll:
|
Zitat:
|
Speicher den Pfad erstmal in einer Variablen zwischen und dann kuck mal, was da drin steht.
|
tja es steht der pfad zu dem bild drin, und dieser pfad existiert auch
|
ich hab es hin bekommen, undzwar mit
Code:
:dancer2: :dancer: :hello:
Application.ProcessMessages;
danke an alle die mir geholfen haben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 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