*brabbel* Eckig tut mir leid, das is eine C-Krankheit

So einen Wert wie "sizeof(aaa)" hab ich bei Bascom noch nicht finden können. aaaaber:
da du ja nicht weißt, (in der sub) welches anfangselement du als param kriegst, würde die gesamtlänge gar nix nutzen. (ich) würde einfach eine Topadresse mitschicken
Code:
declare sub func (adr as word, top as word)

dim tabelle(trallala)  as byte
dim tabtop as word
       tabtop = varptr(tabtop) ' das ändert sich eigentlich nie

dim tabaddr as word
       tabaddr = varptr(tabelle(xx))   ' je nach aufruf
       call func ( tabaddr, tabtop)   
 .....  
sub func (adr as word, top as word)
local xx as byte
   while adr < top
       xx = INP(adr)
       print xx
       incr adr
   wend
Im Grunde funzt das auch bei mehrdimensionale Tabellen, da ja meist nur eine Dimension ungewiss ist. Aber man kann immer auch
anfang = varptr(erstes Byte)
endr = varptr(letzes Byte)
übergeben.

Anm: "Out of range" kannst du nur beim kompilieren kriegen, wenn du feste Zahlen verwendest. Zur Runtime liest er auch aus dem Nirwana, wenn's darauf ankommt und du einen Fehler hast.