点击此处---> 群内免费提供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开始,它一直为我抛出该异常
我做了一些测试,但是我的测试应用程序无法正常工作。
因为它会引发异常,然后继续进行陷阱捕获并忽略它。
< p>按照Ido的建议,更改调试级别。该文件属于Microsoft,因此请他们询问更改的内容,我怀疑它们已弃用某些东西,MS经常这样做。
Don
这是从mfc的occsite.cpp文件中抛出错误的函数:
更新CR运行时时,需要从窗体中删除CR Windows查看器,然后重新添加。
SP 25和26中的每个版本都需要3.5 Framework ,因此CR版本是13.0.3500.0
SP 27再次更新为4.0 Framework,我们建议使用4.7或更高版本,CR Framework版本是13.0.4000.0
我就像您不是在更新Project Cr参考并重建应用程序。 否则app.config不会更新为使用最新版本。
这是我的一段代码,当调用CreateNewFrame时会导致该错误出现
啊,我刚刚注意到您是使用C ++而不是C#构建应用程序。
我会尝试 但可能是由于C ++依赖关系
Don
Hi Don,
谢谢您的时间。
正如我在第一篇文章中所说,我得到了最新的.NET Framework 4.8。 如前所述,我使用升级版SP27 dll构建了整个应用程序,并且构建良好,这意味着引用均已更新且正确(13.0.4000.0)。 正如我说的,在单击"忽略"后,它会处理异常,并且可以正常启动水晶报表
我唯一缺少的一点是"从您的表单中删除CR Windows查看器,然后重新添加它",我不确定这是什么意思,但是我认为它不会解决我的问题。/p>
如果您还有其他建议,请多多包涵
谢谢
C ++调试起来很麻烦,运行时的调试版本与发行版之间可能有所不同。 看看是否在发布模式下编译并运行时会产生相同的错误。
我现在在节假日休假,直到星期三,并且必须清除事件,这样我才有时间进行测试。
由于它在单击"确定"按钮后起作用,因此我建议尝试捕获该特定异常并忽略它,直到找到原因为止。
一周热门 更多>