Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Form (Non Risponde)
venerdì 23 novembre 2007 - 16.35
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Teech
Profilo
| Expert
573
messaggi | Data Invio:
ven 23 nov 2007 - 16:35
Ho un problema che nel suo piccolo è molto fastidioso.
Ho creato un Form che deve ciclare circa 2 milioni di record su un DB SQL2005 e confrontarli con un DB proprietario di un gestionale. L'accesso al DB del gestionale avviene attraverso delle classi fornite dai produttori del gestionale stesso...
In questa maschera ho messo una Label dove scrivo dati identificativi per il record in elaborazione così posso rendermi conto del punto in cui mi trovo... Lancio la procedura e tutto va correttamente solo che guardare dei numeri che girano su una label è stressante quindi, mentre la procedura gira faccio altro... Dopo 10 minuti torno a vedere a che punto è la procedura (che impiega diverse ore ad elaborare) e la label è fissa mentre sulla barra superiore della form è presente la dicitura (Non risponde).
La procedura stà elaborando anche con la Form che Non Risponde...
Ad ogni aggiornamento della label lancio un Me.Refresh per sicurezza...
Come faccio a far funzionare questo semplice controllo? Perchè si comporta in modo così anomalo?
Grazie a chi può rispondermi.
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
diegoooo82
Profilo
| Junior Member
169
messaggi | Data Invio:
ven 23 nov 2007 - 17:39
Prova a mettere un Application.DoEvents all'interno del ciclo
forse ti si rallenta un po.
pero se l'applicazione gira in un ciclo è quasi normale che non aggiorna la form... anche a me è successo
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
ven 23 nov 2007 - 17:43
Non credo sia tanto anomalo, in quanto tutte le risorse del thread in cui risiede la form con tutti i suoi controlli, vengono 'drenate' dal ciclo di lettura/confronto sui db. Pertanto l'interfaccia della tua applicazione è impossibilitata a fare alcunchè, compreso a rispondere al SO. Presumo che comunque, alla fine del ciclo, tutto torni ad operare normalmente.
Ho lo stesso comportamento con una applicazione che mi sincronizza due PC (o due dischi).
Se vuoi liberare l'interfaccia utente, la cosa più pulita che puoi fare è eseguire il ciclo lettura/confronto in un thread diverso.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !