Ciao a tutti.
ho fatto un ciclo così:
ma come faccio a individuare solo i component? c'è qualche proprietà che posso usare?codice:for(var obj in _root){ trace(typeof(_root[obj])); }
Ciao a tutti.
ho fatto un ciclo così:
ma come faccio a individuare solo i component? c'è qualche proprietà che posso usare?codice:for(var obj in _root){ trace(typeof(_root[obj])); }
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
Ad esempio
ocodice:for(var prop:String in _root){ trace(_root[prop].className); }
codice:for(var prop:String in _root){ trace(_root[prop] instanceof mx.core.UIComponent); }
grazie 1000!
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
ok, sto utilizzando i suggerimenti di negatyve per fare questo:
ho un combobox che ha i nomi di vari db. l'utente però trova anche un valore non legato a nulla, label= " - " , data=true .
quello che sto cercando di fare consiste nel bloccare (enabled=false) tutti i component nella _root se l'item selezionato è quello neutro (quello con label =" - " per capirci) e sbloccarli se invece viene selezionato un qualsiasi altro item. ecco il codice:
//il combobox si chiama db_select
triggercomps(false, db_select);
cambiadb = new Object();
cambiadb.change = function(obb) {
if (obb.target.selectedItem.data != true) {
triggercomps(true); //tutti a enabled=true
} else {
_root.triggercomps(false, db_select);// tutti false tranne db_select
}
};
db_select.addEventListener("change", cambiadb);
function triggercomps(stato, escludi) {
for (var prop in _root) {
if (_root[prop] instanceof mx.core.UIComponent and _root[prop] != escludi) {
_root[prop].enabled = stato;
}
}
}
Ora, andrebbe tutto bene, se non fosse che, provandolo, il combo db_select (che in teoria escludo dal "bloccaggio") è ancora cliccabile, ma... gli item del combo stesso vengono fuori bloccati!
è come se il combo fosse editabile, ma il listbox al suo interno no!
:master:![]()
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
TROVATO! c'era un'istanza "depthCHild0" , escludendo anche quella ho risolto!
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
ho risolto un cavolo!
1) quando disabilito i componenti col ciclo for, tutto diventa molto lento, provo a scrivere in una textarea (non disabilitata) e fa fatica... quando li riabilito tutto torna veloce... :master:
2) questa dannata combobox dà un nome depthChildX dinamico alla "listbox" contenuta, ovvero alla lista che appare quando clicchi sulla freccetta del combo. il fatto è che la prima volta che ci clicco è depthChild0, poi depthChild1, poi... ma che sta succendendo?![]()
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
per l'esattezza, swappa tra depthChild1 e depthChild0, quindi ho risolto con un substr, riconoscendo solo la radice depthChild . Resta il problema della lentezza, che non capisco a cosa sia dovuta.
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>
Al di là di quello che stai facendo, hai aggiornato il flash alla versione 7.2 con l'apposito updater? Era noto un bug sulla lentezza dei components disabilitati, a causa di un setInterval di troppo, poi risolto con l'update..
azz! solo il player? corro! grazie!
<sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>