Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di rugg88
    Registrato dal
    Jan 2012
    Messaggi
    106

    [VB2010] Form bloccata finchè non termina l'esecuzione di un applicazione

    Salve a tutti,

    ho creato un'applicazione che mi consente di lanciale in sucessione delle simulazioni di FDS (un software di fluidodinamica computazionale). L'applicazione funziona bene, vi è solo un problema dovuto al fatto che la form risulta bloccata mentre è in esecuzione ogni simulazione (che può durare anche alcune ore). Ho inserito all'interno del ciclo:

    codice:
    Application.DoEvents()
    tuttavia la form resta comunque bloccata quando è in corso una simulazione.

    Vi è qualche modo per sbloccarla?

    Grazie in anticipo per ogni aiuto.

    Ruggiero

  2. #2
    Ciao
    Dovresti mostrare un pò di codice ... almeno quello relativo al Do...Loop (suppongo che ci sia) .... insomma il codice dove hai dovuto inserire il DoEvents

    Facci sapere...
    Ciao

  3. #3
    Utente di HTML.it L'avatar di rugg88
    Registrato dal
    Jan 2012
    Messaggi
    106
    In sintesi il codice è il seguente:

    codice:
    For a As Integer = NumeroIniziale To NumeroFinale
    
    Dim proces = Process.Start(New ProcessStartInfo With
                             {
                                 .FileName = "c:\file.exe",
                                 .WorkingDirectory = "c:\path"
                                 })
    
                proces.WaitForExit()
    
      Application.DoEvents()
    
            Next (a)
    In pratica quando è in corso una simulazione non posso nemmeno spostare o chiudere la form infatti se premo su "x" la form si chiude solo dopo aver terminato la simulazione.

  4. #4
    Ciao.
    Con Proces.WaitForExit .... Sei tu che gli chiedi di aspettare la fine di quel processo.
    Il DoEvents .... in questo caso, messo li, non serve a niente.

  5. #5
    Utente di HTML.it L'avatar di rugg88
    Registrato dal
    Jan 2012
    Messaggi
    106
    C'è qualche modo alternativo per far partire l'applicazione una dopo l'altra ma senza far bloccare la fotm?

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    usare i thread.

  7. #7
    Ciao.
    Io toglierei quell'istruzione WaitForExit e lavorerei valutando periodicamente la collection precesses dell'oggetto Process(per controllare lo stato del processo).
    Magari in un thread separato ..... ma anche no(dipende dalle tue esigenze).

    Facci sapere...
    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.