Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Zugriffsverletzung. was ist hier falsch? (https://www.delphipraxis.net/174789-zugriffsverletzung-ist-hier-falsch.html)

Volker Z. 9. Mai 2013 22:23

AW: ugriffsverletzung. was ist hier falsch?
 
Hallo,

mach mal aus
Delphi-Quellcode:
feld[x3,x3].Bild.visible:=true;

ein
Delphi-Quellcode:
feld[x3,y3].Bild.visible:=true;

dann sollte es funktionieren

Gruß

grl 9. Mai 2013 22:25

AW: ugriffsverletzung. was ist hier falsch?
 
Delphi-Quellcode:
feld[x3,x3].Bild.visible:=true;
geht nicht. Du verwendest zweimal x3 statt x3 und y3.

Korrigier das und es sollte gehen.


Auffallen tut ausserdem:

Warum sind x und y global definiert? Globale Variablen sind sowieso ein no-go und in einer Schleife erst recht.
Dito für Feld, warum ist das nicht eine Variable innerhalb der Form?
Warum greifst du immer hart auf Form2 zu und nicht auf self? Wenn du Form2 zweimal erzeugst hast du ein Problem...

Gute Nacht,

Luggi
(Jetzt war Volker schneller...)

Bummi 9. Mai 2013 22:54

AW: ugriffsverletzung. was ist hier falsch?
 
Der x/y Fehler würde keine Zugriffsverletzung erklären, da das Array symmetrisch ist.

Wie wird den Form2 erzeugt ?

ersetze doch mal

Delphi-Quellcode:

Form2.DoubleBuffered:=True;
......
feld[x3,y3].Bild := Timage.create(Form2);
durch

Delphi-Quellcode:

DoubleBuffered:=True;

feld[x3,y3].Bild := Timage.create(self);
die relative Pfade sind ebenfalls kritisch, passen aber nicht zu der Fehlermeldung

grl 9. Mai 2013 23:03

AW: ugriffsverletzung. was ist hier falsch?
 
Zitat:

Zitat von Bummi (Beitrag 1214889)
Der x/y Fehler würde keine Zugriffsverletzung erklären, da das Array symmetrisch ist

Natürlich erklärt sie das. wenn z.B x=6, y=1, dann greift das auf ein TImage zu, das zu diesem Zeitpunkt noch nicht erzeugt ist. Und das gibt eine Schutzverletzung.


Luggi

Bummi 9. Mai 2013 23:06

AW: ugriffsverletzung. was ist hier falsch?
 
@grl :wall: danke ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr.
Seite 2 von 2     12   

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