Textfelder entfernen

Hi,

statt uns einen Code von über 480 Zeilen hinzulegen (wobei Einsicht in die Quelldatei immer gut ist), wäre es hilfreicher, wenn Du das Problem anhand der entsprechenden Ausschnitte erläutern könntest:

- Wo werden die Textfelder um die es geht, unter welchen Bezeichnern instanziert?

- Wo schlägt das Entfernen fehl?

- Soweit ich das auf den ersten Blick sehe, speicherst Du die Bezeichner für neue Textfelder in einem Array - ist dieses Arrax (bzw. die entsprechenden Arrayfelder) auch an der Stelle, an der Du zum Entfernen der Textfelder darauf zugreifst, korrekt gefüllt (ggf. per trace() ausgeben lassen)?

Gruß
.
 
Hi,

mich wundert, dass die Bezeichnungen von Jahre verschwinden, wenn ich von der Jahres in die Monatsansicht gehe, aber umgekehrt nicht.

Ich benutze folgenden Code in der Funktion show_jahr(), um die Textfelder manuell zu entfernen:

Code:
for( var a = 0; a < 100; a++)
 {
  movieclip[a] = "monat"+a+"_mc";
  bezeichnung[a] = "monat"+a+"_txt";
  _root[movieclip[a]].unloadMovie();
  _root[bezeichnung[a]].removeTextField();
 }

allerdings zieht das nicht, die Bezeichnungen der Monate verschwinden einfach nicht.

Gruss Joe

Gruss Joe
 
Hi,

ja, du deklarierst das Array "bezeichnung" auch innerhalb einer Funktion - damit ist es ausserhalb (und in der selben Funktion bei einem neuen Aufruf) nicht mehr verfügbar.

Zudem wird das Array einmal in der Funktion "show_jahr" und einmal in "show_monat" deklariert - das mach in dieser Form ebenfalls keinen Sinn.

Ein Beispiel:
Code:
function foo(d) {
  var bar = new Array();
  bar[d] = d;
  trace(bar);
}

foo(1); // wird "1" ausgeben

foo(2); // wird nur "2" ausgeben, da die erste Arrayinstanz nur im ersten Aufruf aktuell war

trace(bar); // wird "undefined" ausgeben

Du solltest derartige globale Arrays auf der Zeitleiste deklarieren.

Dein gesamter Code ist mir zu lang und unübersichtlich, als dass ich ihn an dieser Stelle komplett korrigieren könnte oder wollte. ;)

Gruß
.
 
Das verlang ich auch garnicht. Ich dachte nur es wäre besser dieses Mal die Datei anzuhängen, da bei dem letzten thread anscheinend ein Verständisproblem gegeben hat. Ich versuche jahr auch garnicht auf das Array einer anderen Funktion zuzugreifen. Ich versuche auf das Textfeld auf der Bühne zuzugreifen. Wie das Textfeld heist belege ich in der Funktion ja vor.

Dazu muss man sagen, dass ich je nach Anzeigeart( Jahr, Monat, etc.) die Textfelder nach dem gleichesystem benenne(monat+i_txt). Deswegen bin ich auch nicht auf die Variablen einer anderen Funktion angewiesen, sondern beziehe mich lediglich auf die Objekte der Bühne.

Ich verstehe nicht, wiso ich das Textfeld auf der Bühne sehe, aber nicht darauf zugreifen kann.

Lg Joe
 
Zurück