Alle 01:57, martedì 26 settembre 2006, Bart Aimar ha scritto: > 2006/9/25, Emanuele <[EMAIL PROTECTED]>: [...] > > > ... zot... Paolo che concorda con te. > > > Lui l'ha chiamato "di morte prematura di variabile" :-) > > > > Wow, ci ho beccato?!?! :-) > > Però scusa non è strano il comportamento? > > Non dovrebbe rimanere "vitale" (giusto per proseguire con l'analogia) > > fino alla chiusura di OOo? > > Se la variabile è sufficientemente "globale" e non ci sono due variabili > con lo stesso nome "dovrebbe" rimanere in vita... > Paolo! Dicci qualcosa...
Che devo dire? Ho discusso dell'argomento in termini generali tempo fa, in lista [EMAIL PROTECTED] Se qualcuno vuole dare un occhiata: http://udk.openoffice.org/servlets/BrowseList?list=dev&by=thread&from=967304 > > > "oMouseClickHandler" è un oggetto che vaga... e se per caso non lo > > > > chiudo > > > > > per benino il mouse non funziona più. > > Presumibilmente per quel documento non funzionerà più. Non proprio, in effetti non funzionerà più per quella vista del documento. Se crei una nuova vista (menu finestra->nuova finestra) potrai nuovamente operare con mouse e tastiera. (cambiando la vista si cambia il currentcontroller) > La cosa mi inquieta... > > > Ma c'è modo di recuperarlo anche se non so niente di lui? > > > > Almeno il nome della variabile lo sai? :-) > > Quello, anche se non io non me lo ricordo sempre... il codice lo sa sempre! > > :-) Non ho capito bene qual'è il problema, cmq una tipica situazione che mi capita durante lo sviluppo è questa: Lancio il codice che registra un listener. il listener è ovviamente conservato in una variabile globale Durante questa fase mi accorgo di qualcosa che non va nel codice Prima di fare la correzione dovrei de-registrare il listener, ma me ne dimentico. Modificando il codice, la variabile globale perde il riferimento al listener, quindi non c'è più modo di recuperarlo per effettuare la de-registrazione. Questa situazione ha svariati effetti collaterali che dipendono anche dal codice richiamato dal listener. Cmq una volta perso il riferimento al listener non c'è modo di recuperarlo. [....] > > C'è scritto da qualche parte che il currentController ha uno (o più) > > > > > listeners aperti? > > > > Dubito, anche perché se cercassi il listener nel currentController poi > > non sapresti in quale variabile è "allocato" ed alla fine non potresti > > modificarlo...almeno se ho capito come funzionano i listener... > > Dubitavo anch'io... e la tua conferma aumenta la mia inquietudine... > > > C'è modo di enumerarli/elencarli? non mi risulta. > > > E magari poi di chiuderli? non mi risulta. se fosse possibile, un programma maleducato potrebbe de-registrare i listener registrati da altri programmi, e si tratta ovviamente di una condizione non accettabile. > > > > Solo se conosci le variabili che hai utilizzato per aggiungerli...almeno > > credo. > > Credo che non sia sufficiente conoscerene il nome... ma è necessario che > siano ancora valide e reperibili... esatto. La gestione dei riferimenti ai listener registrati è una responsabilità dello sviluppatore basic ciao Paolo --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
