Ciao, volevo sapere se c'è un modo per far si che MsgBox non bloccasse le istruzioni in un form.
Ad es. Un timer viene interrotto finchè non viene data una risposta al msgbox. E' possibile evitare il problema?
Grazie
Ciao, volevo sapere se c'è un modo per far si che MsgBox non bloccasse le istruzioni in un form.
Ad es. Un timer viene interrotto finchè non viene data una risposta al msgbox. E' possibile evitare il problema?
Grazie
NO!
Purtroppo...
Ma puoi sempre fare un tuo form per fa apparire le MsgBox e richiamarlo senza specificare vbModal, in questo modo non fai attendere gli altri processi...![]()
Let's your dream came true!
Invece volendo si può fare..anzi, a volte una risposta al msgbox serve per cambiare codice..
Scusa ma hai letto bene la discussione???
Vuoi dire che una MsgBox (che è composta da un form modale) mentre è visualizzata permette l'esecuzione di altro codice???
Senti semplicemente prova:
MsgBox "A"
MsgBox "B"
e vedrai che B non viene visualizzato finchè con clicchi sul messaggio "A"...
Altrimenti se hai codice che mi smentisce, posta![]()
![]()
![]()
Let's your dream came true!
Scusa ad entrambi..avevo capito la cosa opposta.. Ha ragione ale500, mentre il programma attende risposte non si può far niente..
Presumo si possa fare solamente avendo più thread in esecuzione. :master:Originariamente inviato da MdE2005
Scusa ad entrambi..avevo capito la cosa opposta.. Ha ragione ale500, mentre il programma attende risposte non si può far niente..
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Se il problema e' solo il timer, non utilizzare l'oggetto di VB.
Al suo posto utilizza la API SetTimer (e la KillTimer) e potrai eseguire il codice anche se la msgbox sara' attiva.
non è sufficiente serve anche una gestione callBack altrimenti il timer continua a contare ma la procedura "non se ne accorge" proprio come dice alka serve un'altro threadOriginariamente inviato da oregon
Se il problema e' solo il timer, non utilizzare l'oggetto di VB.
Al suo posto utilizza la API SetTimer (e la KillTimer) e potrai eseguire il codice anche se la msgbox sara' attiva.
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
Fai una cosa del genere, no???
Allora prima della MsgBox spegni il timer, e nel caso l'utente risponde di si (ad esempio) allora lo riattivi...
[supersaibal]
PS
Se ho detto qualcosa che non va fammi sapere...
PPS
Mi sonoappena svegliato
[/supersaibal]
Let's your dream came true!
Non so se prima sei stato a sentire ma puoi fare cosi...
Ti fai un tuo form per questa BENEDETTA MsgBox e lo richiami in modalità non Modale (quindi niente .Show vbModal ma solo .Show) a questo punto VB va avanti per i conti suoi...
Se puoi non sei soddisfatto della cosa, perchè magari potresti giustamente dire che in questo modo il form potrebbe perdere il focus ed andare in secondo piano, allora TEMPORIZZATAMENTE richiami il form in maniera AlwaysOnTop in modo da assicurarti che sia in primo piano
[supersaibal]
PS
Io faccio cosi ad esempio quando devo mostrare le progress bar in un form
PPS
Non impostare il Timer a troppo poco altrimenti rischi esclusicavamente di rallentare il tutto ebbbasta!
PPPS
Chi è con me alzi la mano...
[/supersaibal]
Let's your dream came true!