Я неоднократно вызываю метод с BeginInvoke. После каждого звонка я вызываю EndInvoke.
Проблема заключается в том, что для второго вызова элемент IsCompleted в возвращенном IAsyncResult устанавливается равным true НЕМЕДЛЕННО после вызова BeginInvoke.
Это вызывает сбой, потому что программа думает, что второй вызов завершен.
Почему это происходит, и как я могу определить, когда 2-ой звонок ДЕЙСТВИТЕЛЬНО завершен?
Declarations:
IAsyncResult ar;
Mercury.J4000.Ui.frmMain.doPrintsDelegate printCallback;
The BeginInvoke call:
ar = printCallback.BeginInvoke (jobNameArray, copies, distances, null, null);
The EndInvoke call (in another method):
printCallback.EndInvoke(ar);