Array wird bei dir mit 3 "r" geschrieben.
Hallo Jungs, ich bräuchte mal eure Hilfe.
Und zwar versuch ich gerade ein Array in Bascom zu Initialisieren und zu füllen, mit einem wert X und der Variablen Y (welche hochgezählt wird).
Das ganze sieht so aus:
Eigentlich ganz simpel. Doch bringt mir Bascom den Fehler:Code:Dim Array(256) As Integer Array(Y) = X
Error:46 - Assignment error
Was mache ich Falsch?
danke für eure Hilfe...
Array wird bei dir mit 3 "r" geschrieben.
Stimmt, war aber eh nur als Beispiel gedacht...
Habs mal editiert. Der Fehler bleibt gleich.
Danke euch...
Hallo,
In welcher Zeile kommt dieser Fehler,
und was sind Y und X für Variablen (Typ und Wert).
Das Array geht dann in diesem Fall von 1 - 256.
Mit wievielen R man Array hier schreibt ist egal, weils ja nur der Variablenname ist
Hallo,
der Fehler kommt in der Hauptroutine, keine Funktion oder ein extra Sub etc.. Die Variablen sind vorher mit "Dim" Deklariert und beide vom Typ Integer. 0 und 1.
-Das Array geht dann in diesem Fall von 1 - 256.
Wird es nicht Nullbasiert initialisiert? Weil ich auf diese Position (0) was schreibe.
Danke für die Hilfe...
Steht über diesem Assignment Error zufällig noch ein Error 22 "Out of SRAM Space"?
#ifndef MfG
#define MfG
Wenn das Array die erste Variable ist, die Dimensioniert wird, liegt es auch gleich am Anfang im Speicher, dann klappt das mit der 0 nicht !
Arrays sind in Bascom 1-based.
Ich habs grad mal versucht. Wenn der Array ganz am Anfang zuerst dimensioniert wird, gehts trotzdem. y = 0 und Array(y) frisst er ebenso.
Bei Array(0) haut er zwar dann nen Fehler her, aber das ist dann nicht der Assignment Error, sondern "Index out of range".
(auch etwas inkonsequent von Bascom; wenn y = 0 ist, müsste ja bei Array(y) schon der Fehler kommen)
Den Assignment Error kann ich nur reproduzieren, wenn die Grösse des Arrays den freien RAM übersteigt. Aber der kommt dann in Begleitung mit dem "Out of SRAM Space".
#ifndef MfG
#define MfG
Hm,
Error 22 steht nicht davor. Auch wenn es 1 Basierend ist bleibt der Fehler gleich...
Welchen Controler verwendest du denn?
Wenn ich z.b. einen ATiny2313 nehme, kommt bei mir Error 46, vorher allerdings auch Error 22, weil der Speicher nicht reicht.
Bei einem ATMega8 kommt dann gar kein Fehler mehr.
Vielleicht hast di eine andere Bascom Version und da wird der Error 22 einfach noch nicht angezeigt.
Lesezeichen