|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2008
Città: Cernusco Sul Naviglio (MI)
Messaggi: 1292
|
[vb 2008] programma non risponde
salve a tutti, sto scrivendo un software per testare delle chiavi, il numero di operazioni che deve fare è abbastanza elevato, però ogni volta che lo mando in esecuzione dopo pochi secondi mi dice che il programma ha smesso di rispondere, anche se dopo 30 minuti ha finito di generare le chiavi.
adesso vorrei sapere, esiste un modo per dire al S.O. che il programma non si è bloccato ma che sta facendo tutta la mole di lavoro che gli è stata assegnata? la cosa mi dà particolarmente fastidio perchè ho messo apposta una progressbar per vedere a che punto dell'elaborazione è arrivato, però si blocca praticamente subito .-.
__________________
Desktop: MB: ASRock x58 Deluxe3 CPU: Intel Corei7 930 RAM: corsair xms3 6GB (3x2) ddr3 + 8GB Kingston GPU: GTX 580 HDD: Raid 0 HD502HJ ALIM: Corsair TX650W OS: Windows 7 ultimate 64 bit Notebook: dell latitude d620 |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
|
Secondo me devi provare a fare così:
Tra un blocco di istruzioni ripetute o tra blocchi di operazioni, alle volte conviene inserire questo metodo: http://msdn.microsoft.com/en-us/libr...(v=VS.90).aspx per liberare la coda dei messaggi dell'applicazione, cosa che ad esempio nei cicli può bloccare il programma. cioè ad esempio se hai un ciclo: Codice:
for a=0 to 10000
My.Application.DoEvents()
'codice ciclo
My.Application.DoEvents()
'codice ciclo
My.Application.DoEvents()
next
gestione dei messaggi della message queue come ad esempio il draw degli oggetti grafici nell'applicazione, oppure la gestione della cattura dei comandi alla finestra del programma che così non bloccano l'applicazione.
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb Ultima modifica di AllerITA : 12-06-2012 alle 22:32. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2008
Città: Cernusco Sul Naviglio (MI)
Messaggi: 1292
|
grazie mille per la risposta, scusa se non ho risposto subito ma ero ammalato e non avevo le forze per mettermi a programmare ^^
visto che avevo un pò di tempo libero mi sono dilettato anche con la creazione dei thread *_* sono una figata
__________________
Desktop: MB: ASRock x58 Deluxe3 CPU: Intel Corei7 930 RAM: corsair xms3 6GB (3x2) ddr3 + 8GB Kingston GPU: GTX 580 HDD: Raid 0 HD502HJ ALIM: Corsair TX650W OS: Windows 7 ultimate 64 bit Notebook: dell latitude d620 |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
|
Di nulla, il metodo è già presente dal visual basic 6.0 ed e' molto utilizzato.
Felice di essere d'aiuto!
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:07.



















