Newsgroup: it.comp.lang.visual-basic
Titolo: Evitare interruzione procedura

Un saluto a tutti.
Supponiamo che per qualche motivo voglio evitare che l'utente una volta
avviata una procedura possa uscire dall'applicazione e quindi bloccare la
procedura stessa.
Un esempio potrebbe essere il seguente:
Supponiamo di avere un'applicazione gestionale, ipotizziamo che viene
avviato un processo automatico di fatturazione che leggi i dati da una certa
tabella, effettua i calcoli e scrive i dati nella tabella fatturazione. Per
evitare che l'utente possa uscire dall'applicazione prima che il processo
sia terminato come debbo regolarmi?
Grazie anticipatamente a tutti
e.



nel form unload setti Cancel= true nel caso in cui la tua procedura sia ancora in esecuzione (lo
scopri ad esempio con una variabile pubblica). Se l'utente si scazza, però, ctrl+alt+canc o reset...
:-PP
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------

"elio" <not...@you.gk> ha scritto nel messaggio
news:9k0lt0$dvi$1...@nreadB.inwind.it...

Eviti di mettere DoEvents e l'untente non può far altro che aspettare (metti
però qualche Refresh di tanto in tanto).
Approposito: sto da poco usando Win2K.
Ma... sbaglio o la gestione del multitasking è più penosa di quella di NT4?
Quando un prog va in loop per dei calcoli mi blocca addirittura il task
menager!
Ciao

 (lo  scopri ad esempio con una variabile pubblica).
aaarrrrghhhhh... :-(
Dopo tutti i discorsini che abbiamo fatto sul "non uso" delle public... :-P
Vabbè, in  questo caso te la consento...  :-)
ciao
ugo



ho detto "ad esempio".... :-))))
E poi, in una situazione simile, premettendo che per 'pubblica' sottintendevo a livello di modulo,
come faresti altrimenti? 



Beh, è chiaro:
creo una dll in c che istanzio attraverso un ocx che ne chiama le api
pubbliche...
:-P
Vada per la pubblica a livello di modulo, vah... :-)
ciao
ugo

 Moreno
Ciao,
grazie a te ed agli altri per la celerita' della risposta.
Provero' come dici tu.......cmq certo...se al terminalista piace pasticciare
con ctrl+alt+can o con reset.....o se l'enel si mette in mezzo (e l'utente
non e' provvisto di gruppo di continuita')......certo poi mica e' colpa mia
se la fatturazione va a .....(evitiamo commenti :-) ).....io cerco di
prevedere solo le situazioni standard (e gia' mi viene difficile)..... :-)
ok ciao e grazie
e.

 menager!     Si scrive Task Mčnager :-))
Bah, č la stessa sensazione che sto avendo io ... anche se avendo fino ad
oggi sentito parlare solo bene di M$$,$$  win2k non osavo sollevare la
questione :-)
Ciao, warp

 se la fatturazione va a .....
A me una volta un cliente che aveva problemi con l'enel e senza gruppo di
continuità mi ha chiesto se non potevo accorgermi che la corrente stava
andando via e salvare il lavoro...
Ciao

Vada per la pubblica a livello di modulo, vah... :-)
^___^
Oppure si crea un file di testo nel quale la funzione scrive tutti i suoi passaggi, cosě quando
tenta di uscire dall'applicazione, l'utente sa anche esattamente cosa sta facendo la funzione, a che
punto č con l'leborazione...
OK, vado a prendere un ora di sole, vah.... :-)



be'... č semplice!!!
basta catturare l'evento BlackOut_Start(Cancel as boolean)
...in piu' basta impostare il cancel a true, e la corrente non va via!!!
:-)))
Ciao
Enrico

 Ciao
Roba da matti!!!!!!!!! ;-)
Scambiano i programmatori .....anzi uno dei guru del ng.... per
preditori/cartomanti.
ciao
e.


E tu hai risposto:
:-(
oppure
:-)
...noo
:D
ciao
ugo

 Moreno
Ciao e grazie
e.

riuscire a crearte sto file di testo (eheheheeee)
Stai scherzando, vero? ;-PPPP
Io scherzavo... insomma, la stessa cosa la puoi fare sempre con una banalissima variabile pubblica
di tipo stringa...


 andando via e salvare il lavoro...
Porca vacca, non l'avevo letta!
Questa la devo collezionare, č una delle migliori :-)))
CIAO, warp

 :-)))
Ah, ecco!
E io che mi chiedevo a cosa serviva l'evento non documentato
Sub Form_BlackOut()
e il messaggo WM_BLACKOUT (trovato vicino a WM_FUCK, un caso?)
Poi vuoi dire che mettendo Cancel = True posso tenere acceso
contemporaneamente il PC, la TV, la lavatrice, il forno, il condizionatore,
e l'acceleratore di particelle in cantina?
Ciao

 e l'acceleratore di particelle in cantina?
anche il caminetto, se è per quello... :-)))
vabbe'.... c'e' bisogno delle ferie...
Ciao
Enrico


Sě, una decinaia d'anni di ferie...
Ciao

addirittura il task menager!
lo escludo. Dalle carneficine che faccio, mi sembra pure fin troppo 
reattivo. Prova piuttosto ad avviarlo con Ctrl+Shift+Esc
(o ad avviarlo come servizio, aumentare la classe di priorità a 
Realtime, e sparare sulla folla :) il mio secondo passatempo preferito - 
il primo è creare periferiche a casaccio dai nomi più assurdi e vedere 
come reagiscono i programmi)
(lo so, sono malato :)

 e il messaggo WM_BLACKOUT
E' possibile anche utilizzare la funzione GetSystemPowerStatus,
restituisce True se il PC e' acceso, False se e' spento.  :-)
-- 
Samuele Battarra
mail server: 
libero.it
, indirizzo: battarsa@(mail server)
prova il mio newsreader:
http://digilander.iol.it/battarsa/programmi/leggiminews.html