Una classe instanzia un certo numero di thread. Questa classe, qualora si verifichi una tale situazione genera un evento all'interno di ogni thread. I thread quindi correttamente eseguono alcune cose.
Il mio problema è che fintantoché tutti i thread non hanno finito di eseguire la procedura invocata dall'evento, la classe principale non restituisce il controllo all'utente.
Io invece ho la necessità che generato l'evento ogni thread possa eseguire le proprie operazioni senza che l'utente debba attenderne il completamento.
E' possibile? Posto del codice:
Classe base, procedura che genera gli eventi all'interno di ogni thread:
codice:
for I := ListaThread.Count - 1 downto 0 do begin
if Assigned(TThTerminaleServer(ListaThread[I])) then begin
TThTerminaleServer(ListaThread[I]).AggionaBacheca(self);
end;
end;
Thread:
codice:
type
TNotifyEvent= procedure(Sender: TObject) of object;
...
EAggionamentoBacheca: TNotifyEvent;
published
property OnAggionamentoBacheca: TNotifyEvent read EAggionamentoBacheca write EAggionamentoBacheca;
...
constructor
EAggionamentoBacheca:= AggionamentoBacheca;
...
procedure TThTerminaleServer.AggionamentoBacheca(Sender: TObject);
begin
...
end;
Fintantoché la lista "ListaThread" viene percorsa completamente l'utente deve aspettare.
Come posso fare?
Ho commesso qualche errore?