Newsgroup: it.comp.lang.visual-basic
Titolo: Istruzione END -> Errore istruzione non valida..

Il form viene cancellato dallo schermo, ma in realtà non esce, infatti per
secondo me ti rimane attivo qualche processo...magari un bel loop da qualche
parte...se e' cosi'...fai terminare il loop! :))
Ciaooo
S..

Ciao a tutti!
Ho un piccolisssssimo problema...
Ho costruito il mio bel programmino... quando premo il sulla X per uscire.
Il form viene cancellato dallo schermo, ma in realtà non esce, infatti per
tornare in fase di progettazione devo premere il bottone di STOP di VB5.
Mentre il compilato esce, ma rimane in memoria il mio prg. Quindi ho forzato
l'uscita con End, in fase di progettazione tutto bene, ma nel compilato
scrive + o - : Istruzione non valida e nei dettagli "il mio prg ha eseguito
un' errore 10H nel modulo VB5ETc..DLL"
Ho provato a caricare un sorgente di VB5 e questo scherzo non lo fa!
Perche???

...

Quando ti devi chiudere fai:
	on error resume next
	unload frmPippo
	unload frmPluto
	unload frmPapaerino
	unload frmPinco
	unload frmPallino
	on error goto 0
E se non sai (cosa in teoria impossibile) queli form hai, fai cosi':
	dim c as integer
	c=0
	do
		on error resume next
		unload forms(c)
		if err then c=c+1
		on error goto 0
		if c=forms.count then exit do
	loop
-- 
Hi, Ciao
Ettore                 By -MES-
http://freeweb.aspide.it/freeweb/ilmes
 
(con OCX per stampare i Recordset)
Il sito comune di programmatori VB
http://members.xoom.com/it_lang_vb

 loop
O anche, più brevemente:
dim frm as form
for each frm in Forms
   unload frm
next frm
Saluti,
Domenico

 on error goto 0
    Ciao Ettore!
    Ti ringrazio per il consiglio.. pero' ora nasce un problemino..... in
uno dei form che scarico... nell'evento LOAD c'è uno stacchetto musicale
(che deve stare PER FORZA li'! ;) )e quando eseguo UNLOAD lo esegue.. che
fare?

 fare?
Lo esegue? !?!
Mi hai fatto venire un dubbio che ho controllato subito.
Ho creato 2 form, Form1 e Form2. La Form2 non la carico mai, e sull'evento di Unload della Form1 ho fatto:
on error resume next
unload form2
on error goto 0
E non mi ha richiamato alcun evento (ne load ne unload) della Form2.
Se il form e' caricato quando si esegui un'istruzione unload vengono richiamati gli eventi:
	Form_QueryUnload()
	Form_Unload()
	Form_Terminate()  ( quando l'oggetto form viene deallocato dalla memoria, ossia dopo l'unload )
E mai l'evento Form_Load().
Se il form non e' mai stato aperto (non e' caricato), allora l'istrizione unload non richiama un bel nulla, anzi va in errore
inquanto il form non esiste. (questo spiega il motivo dell'uso di "on error" prima e dopo gli unload)
Come e' possibile che a te un'istruzione di "unload" di un form mai aperto scateni l'evento Form_Load() ?
Sicuramente non e' la istruzione unload a scatenarti l'evento di Form_Load(), prova ad andare passo-passo col debugger e dimmi
in che punto viene richiamato il Form_Load() con il suono.


in che punto viene richiamato il Form_Load() con il suono.
        Ho risolto tutto! Ho RI-scritto nuovamente le routine da voi
consigliate....e ora funza!, il bello è che non ho cambiato nulla!!!
    Misteri del VB5... annunciaciamo la prossima release.....etc....
    Ciao e grazie per l'interessamento...