Дескриптор SafeHandle был закрыт.
От: Flammable Россия  
Дата: 20.03.11 10:45
Оценка:
Есть приложение на шарпе, использующее "безопасные" дескрипторы следующим образом:


            if (this.InvokeRequired)
            {
                ISetWindowStateCallback = BeginInvoke(pSetWindowState_Show);
                using (ISetWindowStateCallback.AsyncWaitHandle)
                {
                    try
                    { EndInvoke(ISetWindowStateCallback); }
                    catch
                    {  /* Дескриптор закрыт */ }
                }
            }
            else
            {
                this.ShowInTaskbar = true;
            }


У меня все работает хорошо. Но у некоторых других пользователей случается такой вылет:

Дескриптор SafeHandle был закрыт

Boolean SetEvent(Microsoft.Win32.SafeHandles.SafeWaitHandle)
Boolean Set()
Void Complete()
Void InvokeMarshaledCallbacks()
Void WndProc(System.Windows.Forms.Message ByRef)
Void WndProc(System.Windows.Forms.Message ByRef)
Void WndProc(System.Windows.Forms.Message ByRef)
Void WndProc(System.Windows.Forms.Message ByRef)
Void OnMessage(System.Windows.Forms.Message ByRef)
Void WndProc(System.Windows.Forms.Message ByRef)
IntPtr DebuggableCallback(IntPtr, Int32, IntPtr, IntPtr)
IntPtr DispatchMessageW(MSG ByRef)
Boolean System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32, Int32, Int32)
Void RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
Void RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
Void Run(System.Windows.Forms.Form)
Void Main(System.String[])


Это может случаться и сразу после запуска, и через некоторое время.
В чем проблема?
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.