Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    [VB6] Msgbox blocca l'esecuzione

    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

  2. #2
    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!

  3. #3
    Invece volendo si può fare..anzi, a volte una risposta al msgbox serve per cambiare codice..

  4. #4
    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!

  5. #5
    Scusa ad entrambi..avevo capito la cosa opposta.. Ha ragione ale500, mentre il programma attende risposte non si può far niente..

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    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..
    Presumo si possa fare solamente avendo più thread in esecuzione. :master:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    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.

  8. #8
    Originariamente 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.
    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 thread
    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

  9. #9
    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!

  10. #10

    Altro consiglio...

    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!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.