Gestern folgendes bei mir:
Zitat:
So und wieder habe ich was festgestellt. Den Fehler habe ich nicht gefunden aber ich habe eine potentielle Lösung gefunden. Ich habe festgestellt, dass der Befehl, der in der Prozedur "ShowCard" NICHT funktioniert einwandfrei in der Prozedur "OnImageClick" funktioniert. Daher werde ich nun in der Prozedur "ShowCard" nur den Bildindex zuweisen und in der Prozedur "OnImageClick" werde ich einen Abfrage der Bildindex machen nachdem das entsprechende Bild zugewiesen wird.
Heute wollte ich das dann umsetzen aber wieder gibt es das Problem mit dem
access violation- fehler:
Zitat:
In der Prozedur "OnImageCLick" habe ich nun nach dem Aufruf der Prozedur "ShowCard" (in der wird dem Bild ein neuer Bildindex zugewiesen) folgendes geschrieben um den Bildindex auch umzusetzten:
Delphi-Quellcode:
if (fields[x,y].picindex.mark=false) and ((fields[x,y].picindex.typ=0) or (fields[x,y].picindex.typ=1) or (fields[x,y].picindex.typ=2) or (fields[x,y].picindex.typ=3)) then
begin
fields[x,y].pic.picture.assign(piclist[0,0]);
end;
Hiermit aber schon:
Delphi-Quellcode:
if fields[x,y].picindex.mark=false then
begin
fields[x,y].pic.picture.assign(piclist[0,0]);
end;
ich kann bei beiden Versionen garantieren, dass das ergebnis der if-Verzweigung wahr ist. Woran liegt das?
das gleiche passuert wenn ich die Zeile
fields[x,y].pic.picture.assign(piclist[0,0]);
in eine case anweisung packe.
Bin kurz vorm Verzweifeln, wahrscheinlich wäre die simple Variante mit 8 Bildern manuell auf jedem feld einfacher zu programmieren gewesen, aber das ganze muss dann irre lange Laden wenn das Programm startet..
mfg KahPee