CR SP 25至27-引发异常System.Runtime.InteropServices.SEHException

2020-08-17 09:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我将Visual Studio的Crystal报表运行时从SP16升级到最新的SP 27,但是在构建整个应用程序并运行它之后,当我打开Crystal报表时,最终出现一个错误对话框,显示:/p>

调试断言失败! 程序:C:\ WINDOWS \ SYSTEM32 \ mfc140d.dll文件:.../mfc/occsite.cpp行:1007,如果我单击"忽略",它将显示堆栈跟踪信息:

 **************异常文本**************
 System.Runtime.InteropServices.SEHException(0x80004005):外部组件引发了异常。
    在COleControlSite.AttachWindow(COleControlSite *)
    在Microsoft.VisualC.MFC.CWinFormsControlSite.OnHandleCreatedHandler(CWinFormsControlSite *)
    在Microsoft.VisualC.MFC.CWinFormsControlSite.OnHandleCreated(CWinFormsControlSite *,对象A_0,EventArgs A_1)
    在Microsoft.VisualC.MFC.CWinFormsEventsHelper.OnHandleCreated(Object o,EventArgs args)
    在System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
    在System.Windows.Forms.Control.WmCreate(Message&m)
    在System.Windows.Forms.Control.WndProc(Message&m)
    在System.Windows.Forms.UserControl.WndProc(Message&m)
    在CrystalDecisions.Windows.Forms.CrystalReportViewer.WndProc(Message&msg)
    在System.Windows.Forms.Control.ActiveXImpl.System.Windows.Forms.IWindowTarget.OnMessage(Message&m)
    在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)
 

然后我的报告正常启动,好像什么也没发生。

我正在运行VS17,VC可再发行的x64和x86 14.25.28508,.NET Framework 4.8和SP(从25到27)。

如果我安装16到24之间的任何其他SP,它们都可以正常工作。 同样在Wiki上还说,SP21和更高版本支持VS17,因此我期望SP27也能与VS17一起正常工作。.但事实并非如此,因为从SP25开始,它一直为我抛出该异常

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我将Visual Studio的Crystal报表运行时从SP16升级到最新的SP 27,但是在构建整个应用程序并运行它之后,当我打开Crystal报表时,最终出现一个错误对话框,显示:/p>

调试断言失败! 程序:C:\ WINDOWS \ SYSTEM32 \ mfc140d.dll文件:.../mfc/occsite.cpp行:1007,如果我单击"忽略",它将显示堆栈跟踪信息:

 **************异常文本**************
 System.Runtime.InteropServices.SEHException(0x80004005):外部组件引发了异常。
    在COleControlSite.AttachWindow(COleControlSite *)
    在Microsoft.VisualC.MFC.CWinFormsControlSite.OnHandleCreatedHandler(CWinFormsControlSite *)
    在Microsoft.VisualC.MFC.CWinFormsControlSite.OnHandleCreated(CWinFormsControlSite *,对象A_0,EventArgs A_1)
    在Microsoft.VisualC.MFC.CWinFormsEventsHelper.OnHandleCreated(Object o,EventArgs args)
    在System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
    在System.Windows.Forms.Control.WmCreate(Message&m)
    在System.Windows.Forms.Control.WndProc(Message&m)
    在System.Windows.Forms.UserControl.WndProc(Message&m)
    在CrystalDecisions.Windows.Forms.CrystalReportViewer.WndProc(Message&msg)
    在System.Windows.Forms.Control.ActiveXImpl.System.Windows.Forms.IWindowTarget.OnMessage(Message&m)
    在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)
 

然后我的报告正常启动,好像什么也没发生。

我正在运行VS17,VC可再发行的x64和x86 14.25.28508,.NET Framework 4.8和SP(从25到27)。

如果我安装16到24之间的任何其他SP,它们都可以正常工作。 同样在Wiki上还说,SP21和更高版本支持VS17,因此我期望SP27也能与VS17一起正常工作。.但事实并非如此,因为从SP25开始,它一直为我抛出该异常

付费偷看设置
发送
17条回答
木偶小白
1楼 · 2020-08-17 09:48.采纳回答

我做了一些测试,但是我的测试应用程序无法正常工作。

因为它会引发异常,然后继续进行陷阱捕获并忽略它。

< p>按照Ido的建议,更改调试级别。

该文件属于Microsoft,因此请他们询问更改的内容,我怀疑它们已弃用某些东西,MS经常这样做。

Don

Violet凡
2楼-- · 2020-08-17 09:45

再次感谢您的光临,唐

期待您的消息

三十六小时_GS
3楼-- · 2020-08-17 09:34

不幸的是,我们无法捕获该异常,因为它不是引发异常,而是ASSERT失败了

我们也需要它在调试中工作,因此仍要首先弄清楚这一点

享受假期,唐,

尽快与您交谈!

半个程序猿
4楼-- · 2020-08-17 09:44

嗨,伊藤,

我不能只删除断言,因为它不是我的代码的一部分,它来自VS d:\ agent_work \ 8 \ s \ src\ vctools \ VC7Libs \ Ship \ ATLMFC \ Src \ MFC \ occsite.cpp 不能做太多的调查,因为仅通过执行以下4条始终有效的指令就失败了:

 CDocument * pDocument = CreateNewDocument();
 _SetDocumentDetails(lpszPathName,pDocument);
 CFrameWnd * pFrame = NULL;
 pFrame = CreateNewFrame(pDocument,NULL); 
骆驼绵羊
5楼-- · 2020-08-17 09:46

您只需添加
#define NDEBUG
在代码开始处以抑制断言(或仅将其注释掉,因为它仅用于调试)。

然后,如果您仍然担心Assert失败,请仔细研究

黑丝骑士
6楼-- · 2020-08-17 09:58

不幸的是,这无济于事,如果您有最新SP的解决方案,那就太好了

否则我们将不得不坚持使用SP24

谢谢

风早神人
7楼-- · 2020-08-17 09:34

嗨,唐·威廉姆斯

希望您度过了一个愉快的假期!

您有没有机会对其进行测试并获得一些反馈?

一周热门 更多>