Calocybe: Array-Variable zusammen setzen

Beitrag lesen

Hi Andreas!

Wenn man in der inneren Schleife das eval() auflöst, kommt folgendes dabei heraus:

for(var x = 0; x<unterne.length; x++) { ... }

Das Problem daran: "unterne.length" existiert nicht, wohl aber unterne_mp.length!
Der Fehler "invalid character", der weiter unten auftritt, ist offenbar ein Folgefehler
davon.

Glaube ich nicht. Das eval wird ja erst zur Laufzeit ausgefuehrt, der illegal character wird aber schon zur "Kompilier"-(or whatever)-Zeit festgestellt. Das heisst uebrigens, dass da tatsaechlich ein illegal character ist, sowas wie ein Backspace oder ein Null-Zeichen oder aehnliches (was man nicht sieht). Sowas kann aus mir nicht ganz nachvollziehbaren Gruenden manchmal beim Copy&Pasten entstehen. Abhilfe schafft hier meist nur Loeschen der Zeile und Neuschriebn. (Vielleicht reicht auch schon loeschen aller Zeichen, die wie Leerzeichen aussehen.) Dass die sub init nicht defined ist, ist dann ein Folgefehler davon, da sie nicht erfolgreich geparst werden konnte.

Uebrigens kann man auch mit
  var x_mp = eval(summe[i] + "_mp");
  var x_mp_pos = eval(summe[i] + "_mp_pos");
innerhalb der aeusseren for-Schleife am Anfang die beiden jeweiligen Arrays nach x_* spiegeln (nicht kopieren) und dann mit z.B.
  if (nn) x_mp_pos[x] = document.layers[x_mp[x]].pageY;
darauf zugreifen.

So long