Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Come si esce da un programma?

Ciao a tutti.
La domanda e' meno idiota di quel che sembra. O almeno credo :P
Il discorso e' questo. Lancio il mio programma, il quale prova ad
aprire un database. Se non ci riesce, deve dare un messaggio di errore
ed uscire, senza neanche visualizzare il form principale.
Allora ho fatto una funzione ApriDatabase che mi ritorna un codice
dipendente dall'esito dell'apertura del database. Io controllo il
codice e so se tutto e' andato bene o meno. Il problema e' che:
Private Sub Form_Initialize()
Dim BaseDati As String
Dim DSN As String
Dim Stato As Long
 
 
    'in ufficio bisogna lavorare con PgIcem e a casa con dBIcem
    BaseDati = InputBox("Database da usare (default impostato per
l'uso in Icem):", , "dBIcem")
 
    'seleziono il dns su cui fare la query
    DSN = "DSN=" & BaseDati & ";UID=icem;PWD=75l19gr;"
    'se fallisce l'apertura del database, esco dal programma
    If ApriDatabase(DSN) < 0 Then
        Unload Me
    End If
...
non funziona. Il perche' non lo so, ma mi interessa poco. Ho fatto
qualche prova anche mettendo un load me come prima istruzione, ma non
e' tanto dell'idea di funzionare ugualmente :) Dunque, pur lanciando
Unload Me, il programma continua a funzionare ed ottengo altri 30.000
errori per tutti gli open recordset ecc. che faccio in seguito.
Allora ho pensato di fare un:
Private Sub Form_Initialize()
Dim BaseDati As String
Dim DSN As String
Dim Stato As Long
 
 
    'in ufficio bisogna lavorare con PgIcem e a casa con dBIcem
    BaseDati = InputBox("Database da usare (default impostato per
l'uso in Icem):", , "dBIcem")
 
    'seleziono il dns su cui fare la query
    DSN = "DSN=" & BaseDati & ";UID=icem;PWD=75l19gr;"
    'se fallisce l'apertura del database, esco dal programma
    If ApriDatabase(DSN) < 0 Then
        End
    End If
...
Solo che e' troppo brutale: tutto muore al volo e non passo nemmeno
attraverso il form_terminate, che invece mi e' necessario per fare
alcune azioni.
Dunque come faccio a far morire tutto passando attraverso il
form_terminate?
Grazie in anticipo.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 Opel/ECC Calibrezio EVO-VI --- Kawasaki "Gas Gas" ZZ-R 1100
 ICQ# 36893168 - IRCNet: bugbarbeq, @ on #linux-it & #NetBSD
   On contrary of popular belief, Unix *IS* user friendly:
    it just appears to be selective who it is friend with

 ed uscire, senza neanche visualizzare il form principale.
Potresti mettere il tuo codice nell'evento load del form,
e utilizzare il metodo hide per nasconderlo.
Oppure carichi un modulo .bas con una sub Main() e la
imposti come oggetto di avvio, con tutto il codice che
ti serve li' dentro.  Da li poi, carichi il form con Load.
CIAO!

form_terminate?
Potresti far partire il tutto da una Sub Main invece
che da un form. poi potresti richiamare la routine di uscita per fare tutto
quello che ti interessa e uscire tranquillamente con end.
Tutte le
istruzioni di Form_Terminate le metti in una sub che se e' il caso puoi
richiamare anche da Form_Terminate.
ciao
_JeLot_
--------------------------------
Inviato via 
http://usenet.iol.it
 

 ha scritto nel messaggio
news:0j06ktgbkv434241f...@4ax.com...

beh...io controllerei la connessione in un module.bas e se va tutto ok poi
apro il form...
ciao

 quello che ti interessa e uscire tranquillamente con end.
se sei nella Sub Main basta che usi Exit Sub, piuttosto che End  :)
Faber

MAI usare End.
Appunto :)
Saluti.


sai, vero?)
Dai, scherzavo... Era per dimostrarvi la mia fiducia :)
Saluti
