2010-03-25 23 views
5

Tôi đang phát triển một bổ trợ Outlook 2003. Cho đến bây giờ tôi chỉ sử dụng winforms để hiển thị một hình thức, nhưng hôm nay tôi đã thêm một cửa sổ WPF cho những thứ phức tạp hơn. DUe đến cửa sổ WPF, một ngoại lệ COM đang được ném khi triển vọng tắt.Outlook 2003 bổ trợ - Bắt ngoại lệ COM khi tắt ứng dụng sau khi tạo cửa sổ WPF

Có ai biết tại sao không? Tôi cần phải bắt đầu một thread riêng biệt cho cửa sổ WPF trong trạng thái căn hộ duy nhất.

Đây là ngoại lệ:

System.Runtime.InteropServices.InvalidComObjectException was unhandled 
    Message="COM object that has been separated from its underlying RCW cannot be used." 
    Source="PresentationCore" 
    StackTrace: 
     at System.Windows.Input.TextServicesContext.StopTransitoryExtension() 
     at System.Windows.Input.TextServicesContext.Uninitialize(Boolean appDomainShutdown) 
     at System.Windows.Input.TextServicesContext.TextServicesContextShutDownListener.OnShutDown(Object target) 
     at MS.Internal.ShutDownListener.HandleShutDown(Object sender, EventArgs e) 
    InnerException: 

Best Regards,
Oliver Hanappi

Trả lời

2

Bạn cần Gọi Shutdown trên cửa sổ WPF Dispatcher trong cùng một thread sau khi cửa sổ được đóng lại.

window.Dispatcher.InvokeShutdown(); 

Một vấn đề tương tự đã được báo cáo trong Microsoft Connect

+0

Nice. Điều đó làm việc rất tốt cho tôi. Cập nhật một câu trả lời khác tôi đã đưa ra (về việc bắt đầu WPF Window trong một chủ đề mới) để bao gồm điều này. – BrainSlugs83

Các vấn đề liên quan