Kein Problem.
Zur Erklärung:
Die Reihenfolge, wie etwas im Source-Code steht, ist nicht immer auch die reihenfolge, wie was abläuft.

Das läuft erst, wenn das Programm fertig ist und auf den µC übertragen ist:
Code:
Laenge = Len(anzeige) 
Print "Textlaenge =" ; Laenge
Das da steht zwar danach, ist aber schon beim kompilieren relevant:
Code:
Dim B1(laenge) As Byte 
Dim L As Byte
Der Kompiler reserviert Speicher für dieVariablen. Erst "B1, dann "L".
Damit er aber weiß, wo er "L" hintun kann, muß er natürlich jetzt schon wissen, wie lange "B1" ist.
Und deshalb isses so, wie es ist.