Python ve wxPython'da yazılmış karmaşık bir GUI uygulamasına sahibim.wxPython'un 'İşlenmeyen özel durum' iletişimini göstermesini engelle iletişim kutusu
Windows Vista için sertifikalı olmasını istiyorum, dolayısıyla Windows Hata Bildirimi iletişim kutusuna ("" Microsoft'a rapor göndermek istiyor musunuz? ") görüntülenecek şekilde çökmesi gerekiyor. Bu, "Windows Vista Test Kılıfları için Sertifikalı" belgesinden 32 numaralı vakayı test etmekle ilgilidir. Ben ThreadHijacker
aracıyla Uygulamamı kazasında zaman
Maalesef wxPython mesajı gibi gösterilmektedir:
Unhandled exception --------------------------- An unhandled exception occurred. Press "Abort" to terminate the program, "Retry" to exit the program normally and "Ignore" to try to continue. --------------------------- Abort Retry Ignore
nasıl bu mesajı göstermesini wxPython önleyebilir ? Özel sys.excepthook
var, ancak bu iletişim kutusunun benim özel kanca müdahalesi olmadan önce göründüğü görünüyor.
DÜZENLEME:
WxWidgets docswxAppConsole :: OnExceptionInMainLoop denir söylüyor ve MSW altında kullanıcının farklı seçenekler arasında seçim yapmanızı sağlar bazı fantezi iletişim kutusunu görüntüler. Ancak, wxPython bu işlevi aşırı yüklemeye izin vermez. WxPython'da wxAppConsole :: OnExceptionInMainLoop'un varsayılan davranışını nasıl değiştireceğini bilen var mı?
Ben C gitmek olanlar üzerinde Python düzeyinde çözümleri tercih/C++
EDIT2:
Sonuçta, ben wxPython posta listesine istedi ve Robin Dunn o bakacağız yanıtını wxPython'un bir sonraki sürümlerinde wxAppConsole :: OnExceptionInMainLoop'u geçersiz kılmak. Bekleyemediğimden bu fonksiyonu içermeyen wxPython'un kendi versiyonunu derlemeliydim. Derleme işaretlerinin düzgün bir şekilde ayarlanmasıyla wxAppConsole :: OnExceptionInMainLoop işlevinin etkinleştirilip devre dışı bırakılabileceği ortaya çıktı.
Burada bir cevap alamıyorsanız, en iyi bahis muhtemelen bir çok uzman (Robin Dunn dahil) orada takıldığından wxpython posta listesini denemektir. –