Newsgroup: it.comp.lang.visual-basic
Titolo: Esiste una istruzione tipo RUN?

Mi spiego meglio: avrei bisogno di far RIPARTIRE il programma all'accadere 
di un determinato evento (es: Ricomincia Si/No).
Ho provato ad associare al Si la funzione form1.Show (assumendo che Form1 
sia la Form principale del programma) ma il risultato non è dei migliori :-(
Avrei proprio bisogno di far ripartire il programma come se l'utente lo 
lanciasse la prima volta.
E' possibile in VB6?
Grazie.
(G)

"Guido" <g,TOgu...@tisIMcIali.it> ha scritto nel messaggio news:43716425$0$22303$4faf...@reader1.news.tin.it...

e' un po' strano come criterio, cmq ecco come si fa:
UnLoad Form1
Form1.Show

 Form1.Show
Grazie per la risposta.
Io ho usato Unload me e poi form.1show ma ho notato che la variabile in 
questione NON viene aggiornata ossia mi mostra sempre il valore della 
sessione precedente!
Mi spiago meglio
Appena la Form1 viene caricata controllo quanti libri sono presenti in 
archivio tramite la lettura del LOF e visualizzo tale valore in una label.
Poi inserisco un altro titolo (e quindi il valore dei liberi aumenta di una 
unità) e torno - con il metodo da te indicato - a visualizzare la Form1 con 
conseguente ricaclacolo della LOF di cui sopra: ebbene il valore è sempre 
quello! Come se non avessi inserito nessun titolo! E questo avviene sia con 
uno, che con due, tre, 10 inserimenti consecutivi.
Ovviamente se esco dal programma(ovvero lo interrompo) e lo rilancio la 
variabile ottenuta con il LOF nel Form1 mi mostra il reale numero dei libri 
inseriti mentre se lascio che al termine della procedura di inserimento (si 
tratta di un altro Form) il programma esegua Unload me e poi Form1.Show la 
variabile NON si aggiorna!
FORM1:
Private Sub Form_Load()
Cls
Dim k As Integer
Form1.Show
Open "c:\biblio\titoli" For Random As #1 Len = 326
k = LOF(1) / 326
Close #1
Label7.Caption = "Sono presenti " & k & " Libri"
....
....
....
End Sub
Qualche idea su come posso mostrare DINAMICAMENTE il numero dei libri 
inseriti?
Grazie ancora.
(G)

inseriti?
Magari usando un Timer?
--
ciao
  Stefano

 sessione precedente!
Me e Form1 potrebbero non riferirsi alla stessa variabile, dipende dal 
contesto in cui ti trovi.
Fare Unload Me è una cattiva pratica e potrebbe portarti a problemi strani.
In generale fare un Unload dall'oggetto stesso è una pessima soluzione.
Se la varibile di cui parli è dichiarata come
Public MiaVar As MioTipo
In Form1 allora l'Unload non basta: devi fare anche un Set Form1 = Nothing.
Ciao 

 Nothing.
Grazie per la risposta.
Mi sono accorto, infatti, che l'istruzione Unload Me è foriera di guai :-(
Ciao.
(G)

 
http://shorterlink.com/?CER299
Grazie per il link!
(G) 


senza stare a pensare a moduli caricati e variabili valorizzati ... fai 
cosi:
crea un exe semplicissimo, chiamalo "lancia.exe" ad esempio, dal tuo 
programma (prg1.exe) lanci con shell il lancia.exe che praticamente potrebbe 
essere una form con scritto "riavvia il programma SI NO", se scegli no 
allora chiudi solo lancia.exe con un unload me , altrimenti chiudi e rilanci 
prg1.exe !
E' la via + facile e comoda e quindi ha dei pro e contro, quindi quando apri 
"lancia.exe" dovresti essere certo che non ci siano modifiche in atto e 
quindi prg1.exe possa essere chiuso.
-- 
[Gigio2k]
Accorcia i link gratis e in modo semplice :
G2kSnipUrl : 
http://www.g2kweb.it/?3015
---> No alla CONFISCA delle moto : 
http://www.maxkava.com/moto
 <--- 

 CUT
Ottimissima idea! Grazie!
Almeno evito di impazzirmi (troppo) dietro a variabili, dichiarazioni, 
stringhe & Co.
Grazie ancora e ciao.
(G)

 stringhe & Co.
si pero' quando chiami il programma di appoggio devi essere certo che il
programma iniziale possa essere chiuso (connessioni aperte, documenti in
fase di editing ecc ecc...) altrimenti potrebbe crearti problemi.
-- 
-Gigio@work-
G2kSnipUrl : 
http://www.g2kweb.it/?3015
( il servizio accorcia link + Gigioso che conosciate ! )
