Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563

    VB6 - Blocco per un errore

    Mi capita qualche volta di entrare in loop particolari che mi fanno bloccare tutto e non posso fermare l'esecuzione del programma. Sono costretto a usare il task manager e purtroppo a chiudere tutto senza poter salvare.
    Ad esempio se faccio
    codice:
    Private Sub Text1_LostFocus
    MsgBox "Ciao"
    Text2.GotFocus
    End Sub
    
    Private Sub Text2_LostFocus
    MsgBox "Ciao"
    Text1.GotFocus
    End Sub
    Appena si entra nel loop non se ne esce piu'!!!
    Avete un modo per chiudere tutto in sicurezza?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da XWolverineX
    Appena si entra nel loop non se ne esce piu'!!!
    Avete un modo per chiudere tutto in sicurezza?
    Non vedo nessun "loop" in senso stretto, ma credo che il problema sia facilmente risolvibile evitando di fare ciò che fai.

    Voglio dire, se fai in modo che ogni volta che un controllo riceve il focus appaia una MessageBox, allora sei tu che vuoi forzatamente infilarti in una condizione che impedisce al tuo programma di essere utilizzabile, poichè ogni volta che chiudi la MessageBox il focus torna sul controllo che la visualizza di nuovo.

    Non c'è una soluzione al problema, se non quello di evitare questo genere di situazioni.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Ad esempio se faccio
    code:--------------------------------------------------------------------------------
    Private Sub Text1_LostFocus
    MsgBox "Ciao"
    Text2.GotFocus
    End Sub

    Private Sub Text2_LostFocus
    MsgBox "Ciao"
    Text1.GotFocus
    End Sub
    Se fai così dà errore in quanto non esiste textbox.gotfocus ma setfocus..

    Cmq sono d'accordo con Alka, l'unica cosa da fare sempre è ricordarsi di salvare il progetto in quanto si rischia di perdere il lavoro..

    ciao AUGURI

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Ma io sul forum di visual basic ho già visto un problema del genere ma purtroppo non soon riuscito a ritrovare quel topic!!!
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  5. #5
    Purtroppo questi eventi non sono riconosciuti dal programma come errori e quindi anche un eventuale istruzione
    codice:
    On Error GoTo
    non risolve il problema..

    Quando a me capita una cosa simile, (cioè del msgbox) premo l'Ok della finestra con il tasto Invio e con il mouse cerco di premere il quadratino che permette lo stop del programa..

    Ma per caso avevi letto un topic in cui veniva risolto questo problema?!

  6. #6
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Si l'avevo letto, ne sono sicuro.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  7. #7
    CTRL+ALT+F8 ed il programma ti si ferma in debug cosi puoi capire dove stà l'errore
    Let's your dream came true!

  8. #8
    codice:
    Private Sub Form_Load()
    For i = 1 To 10
    MsgBox ""
    Next i
    End Sub
    Forse la discussione era stata aperta per questo tipo di situazioni, ovvero quando si entra in un ciclo in cui non si può uscire (per esemplificare ho usato questo for/next che dopo 10 volte si ferma)..

    Premendo CTRL+ALT+F8 il ciclo continua....

  9. #9
    Sorry,
    Ho sbagliato comando...

    CTRL + ALT + PAUSA per bloccare il compilatore in debug
    F8 per riavviarlo step by step ad ogni azione compiuta

    Questo funzia...!!!
    Let's your dream came true!

  10. #10
    Ciao ale500..per l'esempio che ho postato non funziona nemmeno con CTRL+ALT+PAUSE, l'unica cosa è sapere da XWolverineX quale caso interessa..ciao

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.