| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2004
Beiträge: 16
|
Hallo allerseits, ich habe bisher nur eine "echt ätzende" Lösung für folgendes Problem. Es geht um die Components "ScrollPane" und "Label", die im UI Component Set (MX 2004) mitgeliefert werden. In einer ScrollPane werden skriptgesteuert jede Menge Labels erzeugt (mit createClassObject), um irgendwelche Listendaten anzuzeigen. Zu einem späteren Zeitpunkt soll der Inhalt der ScrollPane "gelöscht" werden, um neue Informationen drüberzuschreiben. Die Menge der ScrollPanes ist nicht vorhersehbar, die der Labels auch nicht, es sind eher viele. Das klingt einfach, aber Nüsse is! Meine erste Idee war, den gesamten Clip in der ScrollPane zu "vernichten", indem ich 'contentPath' erneut setze. Dummerweise, und im Widerspruch zur Dokumentation, versucht aber die AS-Anweisung "scrollPane.contentPath = 'einClipSymbol'" ausschließlich, die Datei 'einClipSymbol' zu laden(!) anstatt das Symbol in der Bibliothek. Setze ich contentPath im Inspector dagegen manuell, zeigt die Pane wie erwartet den Library-Clip an. "scrollpane.spContentHolder" kann man offenbar nicht einfach ändern, "content" ist sowieso nur read-only. ==> Wer dazu eine Lösung hat (nämlich Überschreiben des contentPath einer ScrollPane mit einem Bibliotheks-Clip zur Laufzeit), der würde mir schon extrem weiterhelfen! Actionscript sucht immer nach Dateien! Also, das ging schonmal nicht so. Als zweite Lösung hoffte ich, irgendwo eine Collection zu finden, in der alle Elemente (Clips, UIObjects,...) einer Pane verzeichnet sind (um dann mit "for (props in scrollPane)" alle Komponenteninstanzen zu löschen, aber das probiere ich nun schon erfolglos seit drei Stunden. ==> Gibt es ein Array, das die erzeugten Komponenten speichert? Mein Workaround wird nun sein, dass ich selbst ein Array mit Referenzen auf alle erzeugten Labels anlege, um sie dann Stück für Stück mit "destroyObject" löschen zu können. Aber das kann's ja wohl irgendwie nicht sein, und es zerschießt mir völlig meine Objektlogik... Ich will doch nur eine schöne neue weiße Fläche in einer ScrollPane haben ;-) Jemand eine gute Idee dazu? (Ach ja: ich kann keine Drittanbieter-Komponenten hinzukaufen und die Zeit ist natürlich super-knapp) Besten Dank! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |