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. Visual Studio 6.0
Pbm con dll per c++ builder 4
giovedì 24 luglio 2003 - 21.36
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
joshua176
Profilo
| Newbie
5
messaggi | Data Invio:
gio 24 lug 2003 - 21:36
Ho realizzato una dll per c++.
Il problema che quando effettuo un ciclo all'interno della mia dll
il sistema sembra in pallarsi finchè non è terminato il ciclo.
L'utente non riesce piu' a passare da una finestra all'altra quando il
ciclo in esecuzione.
Qualcuno ha un'idea come posso fare per ovviare a questo?
Grazie 1000!
Saluti gio
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 24 lug 2003 - 21:50
Ciao joshua e Benvenuto,
quello di cui parli credo sia riconducibile ad un problema abbastanza noto e cioè di quando in una applicazione Windows si devono fare calcoli gravosi.
Di solito succede che necessitano di diversi secondi di elaborazione e bloccano l'interfaccia grafica (GUI) fino a quando sono terminati.
Con le Microsoft Foundation Classes (MFC) di Visual C++ si risolveva creando un Worker Thread cioè un Thread separato per fare il calcolo, in questo modo il Thread che gestiva l'applicazione rimaneva scarico e quindi all'utente non veniva data l'impressione di un blocco del programma.
Io penso che se tu crei un Thread in cui metti le istruzioni che richiedono più tempo risolvi il problema.
Cosa ne pensi?
Ciao
David De Giacomi
joshua176
Profilo
| Newbie
5
messaggi | Data Invio:
sab 26 lug 2003 - 10:07
Hai perfettamente individuato il problema e credo la
soluzione.
Purtroppo data la mia ignoranza tecnica, sono ancora qui a rivolgerti un'altra domanda. Cosa intendi per Worker thread?
Hai un esempio pratico oppure un link che lo spieghi.
Grazie 1000 per il tuo aiuto
joshua176
Profilo
| Newbie
5
messaggi | Data Invio:
sab 26 lug 2003 - 10:12
Forse intendi una applicazione con finestra e quant'altro e quindi non solo codice?
Come posso farlo all'interno di DLL?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 29 lug 2003 - 11:07
Niente un Worker Thread è semplicemente un Thread, immagino tu sappia cos'è un Thread...
Solo che "Worker" significa che è dedicato ad un lavoro di tipo "intesive" calcoli pesanti, ridisegnare immagini, rendering di immagini, ecc.
C'è una API di Windows che permette di creare un Thread ed è CraeteThread. In Visual C++ la cosa si gestisce molto bene, ancora meglio tramite MFC, però tu lavori con il Builder che non ho mai usato, immagino che però puoi chiamare le funzioni base Win32.
Questa dovrebbe essere la soluzione e dovrebbe funzionare.
Ciao
David
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 !