Ciao Alka,
ho creato un form per poter testare la DLL che sto sviluppando ma ho un problema.
Il funzionamento del sistema è questo:
- il form contiene 3 bottoni, apertura connessione, chiusura connessione, ricezione dati;
- clicco su un bottone e richiamo la funzione che mi apre la porta COM;
- clicco su un bottone e richiamo la funzione che riceve i dati dalla porta COM finchè la connessione risulta aperta (ciclo While do);
E qui nasce il problema. La ricezione dei dati funziona perfettamente ma mentre ricevo, il form rimane bloccato e quindi non posso chiudere la connessione e terminare la ricezione dei dati.

Perchè succede questo? Naturalmente se non richiamo la funzione di ricezione dati, il bottone di chiusura della porta funziona. Credo che il sistema si blocchi poichè rimane impegnato nel loop dello scarico dati.

Il codice del form per la ricezione dei dati è questo:

if Conn then
begin
while Conn do
begin
TextReturn := Polling(PChar(Edit2.Text));
Memo1.Lines.Add(TextReturn);
end;
end;

Conn è la variabile che viene settata a true quando clicco il bottone di apertura connessione. Credo che sia questo loop a bloccare tutto ma non saprei come gestirlo dato che sono obbligato a scaricare dati finchè la connessione rimane aperta.

Grazie