DIM für Globale Arrays / Fehler-Meldung bei Zuweisung

Previous topic - Next topic

Hamburgo

GLOBAL MyArray[]
DIM      MyArray[4][4]

Ist diese Dekleration so korrekt ?

Bei der Abfrage auf ein solches Array bekomme ich die Fehler-
Meldung: Ausserhalb des DIM Bereichs.

MyArray[1] = i

Nehme ich die GLOBAL-Dekleration heraus, läuft es problemlos.

Was mache ich falsch?

D2O

Du möchtest ein mehr dimensionales Array als ein einfache ansprechen, das geht nicht!


Code (glbasic) Select
MyArray [1] = i //<<<<<<<<<< Falsch

MyArray [0][1] = 5
oder
MyArray [0][0] = 5
oder
MyArray [1][0] = 5
oder
MyArray [3][3] = 5


.....usw. 
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Hamburgo

Oh, sorry. Nein, das war ein Tipp-Fehler von mir.

Natürlich muss es heissen:

Code (glbasic) Select
GLOBAL MyArray[]
DIM      MyArray[4][4]

z=3
for x = 1 to z
     for y = 1 to z
          MyArray[x][y] = y + (x*10)
     next
next

Aber trotzdem bekomme ich diese Fehlermeldung:
"Ausserhalb des DIM Bereichs."

Wie gesagt, nehme ich das GLOBAL raus, ist alles ok.

Schranz0r

Schick mal bitte dein Code im "Codetag" (Insert Code, das Rautezeichen), damit wir dir auch Helfen können.

Das geht bei mir ohne Probleme:

Code (glbasic) Select
GLOBAL Array[]
DIM Array[5][5]

FOR x = 0 TO 4
FOR y = 0 TO 4

Array[x][y] = RND(9)

NEXT
NEXT


WHILE TRUE

FOR x = 0 TO 4
FOR y = 0 TO 4

PRINT Array[x][y], x*20, y*20

NEXT
NEXT

SHOWSCREEN
WEND
END
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Hamburgo

Danke für die Hilfe. Habe den Fehler gefunden.

Der Fehler begründete sich in einer falschen
Deklaration der Variblen. Sie versehentlich
2 x Local definiert, weshalb aber keine Fehler-
meldung oder ein Warning ausgegeben wurde.