Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794

    [VB.2008]Form di attesa

    All'apertura dell'applicazione eseguo diverse operazioni così ho deciso di aprire un form in cui c'è scritto "attendere...".
    Ho notato che in alcuni pc (con scarse risorse hardware) la form di attesa si blocca e non vine visualizzata del tutto, sicuramente perchè il processore è occupato... ora ho pensato per ovviare a questo problema di farla aprire in un thread separato, secondo voi può essere una soluzione valida o non faccio altro che peggiorare le cose?

  2. #2
    Devi inserire uno "StartUpModule" nel quale visualizzi la tua SplashScreen(altro non è che una Form, che apri utilizzando ShowDialog), fai tutte le operazioni che desideri e poi apri la Form principale dell'applicazione con Application.Run(NomeFormPrincipale).

    Qundi, Oggetto di avvio dell'applicazione è StartUpModule->Apri lo SplahScreen->Apri la form principale.

    Se usi un thread separato non risolvi il problema.

  3. #3

  4. #4

    Re: [VB.2008]Form di attesa

    Originariamente inviato da Mychy
    ora ho pensato per ovviare a questo problema di farla aprire in un thread separato, secondo voi può essere una soluzione valida o non faccio altro che peggiorare le cose?
    Usare la GUI da più thread è sempre causa di rogne, piuttosto conviene avviare le operazioni di inizializzazione in un thread separato, o, molto più semplicemente, inserire una Application.DoEvents ogni tanto nelle operazioni di inzializzazione, in modo che la message pump che fa andare la finestra di attesa riesca ad elaborare i messaggi ed eviti l'apparente blocco.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.