On 20/giu/07, at 16:55, Mario Graziani wrote:
Il file non è poi così grande, è di circa 40 Kb.
Sono circa 10/12 pagine di stampa.
In effetti ho provato con un file da circa 40KB e ci mette
un'eternità. Il tempo richiesto è esponenzialmente proporzionale alla
dimensione del documento.
Ora però, siccome il problema si presenta sia con il metodo interno
di RB e sia con il modulo che ti ho suggerito, ritengo la causa sia
esterna. Ho dato un'occhiata al codice del modulo e direi che non è
molto ottimizzato, ma facendo qualche ottimizzazione non si ottiene
nulla di straordinariamente più rapido. Ho anche notato che loopa
molto frequentemente l'elenco dei fonts e questo mi fa pensare che
tanti più fonts sono installati e tanto più tempo ci voglia. Magari
il problema sta proprio lì e forse serve (anche a RS) qualche
algoritmo migliore per la ricerca di un font, che non sia la
pedissequa scansione in un ciclo for next.
Il programma è corredato di un Help in linea sottoforma di filmati
avi.
Su windows riesco a chiudere la finestra che ospita Mediaplayer
alla fine
del filmato con il controllo dello stesso Stop, sul Mac con
QuickTime utilizzando lo stesso
codice dopo che si è chiusa la finestra che ospita il player
il debug esce senza avvisi se non il laconico messsagio che odio
con tutto me stesso.
Penso de devo dare un comando al player dopo la rilevazione dello stop
prima di chiudere la finestra ma non so quale, li ho provati quasi
tutti.
Per non farlo uscire dovrò far chiudere la finestra all'utente, in
questo caso non esce.
Grazie ancora
A volte con alcuni controlli succede. Il comportamento da un sistema
operativo ad un altro è spesso differente.
Prova, nell'evento stop, a far partire un timer dichiarato in un
modulo come un'istanza di una sottoclasse di Timer e quindi esterno
alla finestra in cui risiede il movieplayer. Il timer dovrà
unicamente chiudere la finestra con un leggerissimo ritardo (es. 500
millisecondi).
Massimo Valle
|