probleme beim erzeugen von TImage
-
Hey
ich versuche momentan ne menge Images zu erzeugen, da ich lauter kleine bider an bestimmten stellen anzeigen muss.
Doch beim erstellen von Image[6][14] tritt eine Exception der Klasse EAccessViolation auf.
Ich hoffe das mir jemand sagen kann was ich ma wieder verpeile *g*.
hier ist der code:int pixelY=3; for(int y=0;y<=6;y++) { int pixelX=2; for(int x=0;x<=26;x++) { //Image ist als array wie folgt in der Headerdatei initialisiert: //Image[6][26]; Image[y][x]=new TImage(this); Image[y][x]->Parent=this; Image[y][x]->Top=(Image1->Top+pixelY); Image[y][x]->Left=(Image1->Left+pixelX); Image[y][x]->Height=12; Image[y][x]->Width=11; Image[y][x]->Picture->LoadFromFile("/Bitmaps/LEDON.bmp"); pixelX=pixelX+13; } pixelY=pixelY+13; }
-
Hallo
schau genau hin
//Image ist als array wie folgt in der Headerdatei initialisiert:
//Image[6][26];
Zugriff auf
Image[6][14]
(kleiner Tip - die 6 ist falsch - zu gross)
MfG
Klaus
-
hä wiso ? wenn ich ein fald mache das 6 groß ist kann ich ja wohl die 6 auch noch belegen oder? Außerdem wenn deine aussage richtig währe, dann müsste er schon bei Image[6][0] verpeilen.
-
Array-Indizes beginnen (üblicherweise) bei Null, ein mit [6] deklariertes Array hat also die Elemente 0 bis 5. Dass dein Array erst bei [6][14] crasht ist Zufall, mit [6] schreibst du wild im Speicher herum und da ist eben nichts garantiert.
Vielleicht nochmal die C/C++-Grundlagen ein wenig auffrischen?
-
ups ok danke *g*