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]

Rispondere a