Oppure

Loading
06/04/12 16:53
peppino84
ciao a tutti

ho un piccolo problemino

ho creato un programmino, ed il suo exe; funziona benissimo; ho anche creato il pacchetto di installazione nel caso in cui l'utente non abbia installato sul proprio pc alcuni file necessari per l'esecuzione;

il problema è che quando viene chiuso (banalmente crocetta rossa in alto a destra) l'applicazione resta comunque aperta infatti nel task manager figura ancora l'applicazione attiva;

immagino che alla fine del codice sia necessario un qualche exit
il programmino ha diversi form e spesso capita che questi siano aperti insieme
avevo pensato a qualche istruzione del tipo
if 'tutti i form.visible=false" then exit .... si chiude l'applicazione ....

ho cercato un pochino ma non ho trovato risultati interessanti
tra l'altro non sono un esperto
per favore aiutatemi ...

grazie a tutti per la collaborazione
buon lavoro
aaa
06/04/12 21:03
nessuno
Dipende anche da cosa usi nel tuo programma ... ad esempio, utilizzi chiamate a Excel o Word ?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
07/04/12 9:38
GrG
da quanto ho letto mi sembra di capire che i form non li chiudi, ma semplicemente li nascondi...

Per chiudere un form si usa: Unload NomeForm

Comunque come dice nessuno il motivo per cui non si chiude il programma può essere un'altro.. Spesso mi è successo che un programma non mi si chiudeva perchè ancora doveva finire qualche ciclo, quindi controlla bene..

Magari se hai ancora problemi, dacci maggiori dettagli su cosa fa il tuo programma e posta anche il codice, così capiamo meglio :k:
aaa
07/04/12 16:05
peppino84
il programma utilizza dei collegamenti a degli ole excel integrati ed il salvataggio consiste nell'apertura di un foglio excel in cui viene caricato l'output

più facile vederlo che spiegarlo

il programmino tratta la resistenza al moto che incontrano le imbarcazioni veloci; sta gia girando da un pochino tra i miei colleghi ingegneri navali al fine di collaudarlo e questo è il link per il download

dl.dropbox.com/u/25272953/…

è simpatico...

il codice è molto lungo e ci sono diversi cicli while ... difficile postarlo

ma l' unload mi chiude proprio il form rendendolo invisibile .... forse sbaglio a piazzarlo ...
vorrei semplicemente che l'applicazione sia disattivata cliccando sulla crocetta rossa e sparisse dal task manager

non c'è un modo ad esempio ....
if closeform then unload form ???

oppure magari avevo pensato ad una istruzione da riportare in un altro form da cui gestire tutto

if form1.visible=false and form2.visible=false and form3.visible=false then
close progetto1.vbp

dove progetto1 è il pacchetto completo

sto provando a farlo ma ho dei dubbi inoltre metter un altro form rende solo + pesante il programma (anche se non sarebbe un problema essendo di per se leggerissimo)

datemi un consiglio
grazie per l'interessamento
buon lavoro e ancora buona pasqua
bye
aaa
07/04/12 17:59
tippolo
vediamo se ricordo ancora qualcosa
ciao GRG

Per chiudere tutte le form aperte inserisci nell'evento (si chiama così ricordo bene vero?) Form_Unload del form principale questo codice

 On Error Resume Next
     Dim Form As Form
       For Each Form In Forms
           Unload Form
           Set Form = Nothing
        Next Form

in questo modo distruggi tutti i form eventualmente aperti

poi... è un bel po che non programmo, ma se ricordo bene occorrerebbe evitare di chiudere le applicazioni dalla crocetta rossa, ma creando un apposito pulsante con il codice
Unload Me

magari avrò detto una castroneria ;) ma se non ricordo male è così
Buona Pasqua a tutti
Ultima modifica effettuata da tippolo 07/04/12 18:04
aaa
07/04/12 21:27
GrG
ciao tippolo, ben tornato :k:

@peppino84: non capisco perchè insisti su "if form1.visible=false and form2.visible=false and form3.visible=false then
close progetto1.vbp"

il fatto è che (almeno in teoria) se chiudi i form con l'unload questi non diventano "invisibili" quindi è inutile fare il controllo della visibilità, perchè vengono chiusi


Mmm.. sinceramente non avevo mai sentito che chiudere i programmi dalla crocetta fosse scorretto.. boh
aaa
08/04/12 8:36
tippolo
Postato originariamente da GrG:

Mmm.. sinceramente non avevo mai sentito che chiudere i programmi dalla crocetta fosse scorretto.. boh
ripeto...
è solo una cosa che ricordo... magari non sarà vero
aaa
08/04/12 9:48
nessuno
Postato originariamente da peppino84:

il programma utilizza dei collegamenti a degli ole excel integrati


A parte l'unload dei form ci saranno anche problemi con la chiusura di Excel.

Ma se non posti il "sorgente" non si potrà dire molto.

L'eseguibile che hai postato non serve a molto ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.