Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    ProcessMessages

    Ciao,
    ho creato un programma che deve leggere i messaggi con WaitMessage.
    Questa è la sub:
    codice:
    Private Sub ProcessMessages()
        Dim Message As Msg
        Do While Not bCancel
            WaitMessage
            DoEvents
        Loop
    End Sub
    Avete idea perchè non riesco a chiudere l'applicazione? Se chiudo mi si riapre un altro form... posso chiuderla solo da pulsante di Visual Studio.

    Questa è la sub di chiusura:

    codice:
    Private Sub Form_Unload(Cancel As Integer)
        bCancel = True
    End Sub
    Dove Bcancel è il controllo per fermare il loop su ProcessMessages. Questa variabile viene correttamente cambiata in True, l'applicazione si chiude e se ne apre un'altra identica.
    Il problema sta proprio in ProcessMessages() perchè se non lo chiamo dal form il tutto si chiude normalmente.

    Grazie,
    ciao.

  2. #2
    Linguaggio? Versione?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Qual e' il codice eseguito da WaitMessage?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    scusate, pensavo di averlo messo nel titolo.
    VB6
    codice:
    Public Declare Function WaitMessage Lib "user32" () As Long

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Da MSDN

    "The WaitMessage function suspends the thread and does not return until a new message is placed in the thread's message queue."

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    si, ma questo non spiega perchè si riavvia il processo.
    Il ciclo del waitmessage cicla qualche decina di volte al secondo, quindi con il quit dovrebbe sospendersi il ciclo e uscire... invece si riavvia.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Si dovrebbe eseguire il debug di tutto il progetto ... se vuoi inviare il file .zip per darci un'occhiata ...

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.