Здравствуйте, Ed.ward, Вы писали:
EW>Привет All.
EW>К сожалению механизм асинхронного вызова делегатов (BeginInvoke) не позволяет иметь более одного обработчика.
EW>По этому поводу наваял я вот такого вот монстра и требую вашей критики
EW> void Dispose( Boolean Disposing )
EW> {
EW> m_StopThread = true;
EW> if( System.Threading.ThreadState.Suspended == m_LookupThread.ThreadState )
EW> m_LookupThread.Resume();
EW> m_LookupThread.Join();
EW> m_LookupThread = null;
Iskal nuzhnyj mne material i natknulsa na oshibochku v kode:
if( System.Threading.ThreadState.Suspended == m_LookupThread.ThreadState )
rabotaet daleko ne vsegda, t.k. ThreadState mozhet odnovremenno imet' neskol'ko znachenij, naprimer Started und Suspended odnovremwnno. Tut nado bit's oprashivat', naprimer:
if(( System.Threading.ThreadState.Suspended & m_LookupThread.ThreadState ) != 0).
Zhelaju uspehov!