CRXIR2 不适用于 Windows 7 或 Vista 上的 VS2010
我们正在从 VS2005 升级到 VS2010。 我们快要完成了,但是 Crystal Reports 出现了问题。 我们在 C++ 应用程序中使用 RDC(基于 COM)组件。
在 Windows 7 或 VISTA 上,我无法使查看器或设计器控件工作。 当激活控件时,我遇到访问冲突:
// from atlhost.h (line 2208)
hr = m_spOleObject->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, spClientSite, 0, m_hWnd, &m_rcPos);
奇怪的是,当我在 XP 计算机上运行相同的 exe 时,它似乎可以工作。
我们基本上使用“AtlAxWin100”窗口类来托管水晶报表控件(“CrystalReports11.ActiveXReportViewer.1”)。 我使用的是 SP6 版本的 Crystal reports,因此这是最新版本。
另外,当我用 VS2005 编译相同的代码并在 Windows7 或 Vista 上运行它时,一切都运行得很好。
有人知道可能导致问题的原因,或者进一步调查的想法吗?
We're upgrading from VS2005 to VS2010.
We are almost there but there is a problem with Crystal Reports.
We use the RDC (COM-based) component within our C++ application.
On Windows 7 or on VISTA, I can't get the viewer nor the designer controls working.
I get Access Violations when the control is activated:
// from atlhost.h (line 2208)
hr = m_spOleObject->DoVerb(OLEIVERB_INPLACEACTIVATE, NULL, spClientSite, 0, m_hWnd, &m_rcPos);
The strange thing is that when I run the same exe on a XP machine, it seems to work.
We basically use "AtlAxWin100" window class to host the Crystal report control ("CrystalReports11.ActiveXReportViewer.1") in.
I'm using the SP6 version of Crystal reports so that's the latest version.
Also, when I compile the same code with VS2005 and run it on Windows7 or Vista everything works out just fine.
Does anybody have any idea about what might cause the problem, or ideas for further investigations?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来和DEP有关系。
当然,如果我们完全关闭系统上的 DEP
,然后重新启动,
查看器工作了!
不幸的是,这是系统全局关闭。
之前我们尝试单独关闭 exe 的 DEP,但后来我们收到来自 Windows 的消息,不允许我们关闭 exe 的 DEP...
it looks like it has something to do with DEP.
If we turn off the DEP completely on the system with
and then reboot of course,
the Viewer works!
Unfortunately this is a system global turn off.
We tried to turn off DEP for our exe alone before, but then we got a message from Windows that we were not allowed to turn off DEP for our exe...
SAP 认为 RDC 已经死亡。
已弃用2006 年。
"RDC 不是已测试,因此任何版本的 VS .NET 均不支持。” ...
“请注意,版本 12.x RDC 未获得在任何情况下用于开发的许可。无论使用什么语言。另外,请注意,使用 CR 2008(v. 12.x),您只能找到 crviewer.dll 和无论如何,craxDDrt.dll 总是需要额外的报告创建 API 许可证。”
RDC 是专门围绕 COM 技术设计的,旨在供 Visual Basic 6 开发人员使用;因此,不建议在 .NET 应用程序中使用它,也不对其进行测试。 ...
为了支持 .NET 应用程序中 RDC 遇到的任何问题,这些
问题需要在受支持的基于 COM 的开发工具中重现
(例如 VB6)。
.NET 2010 仅支持 CR 版本CR 2010 不附带 RDC(RDC 在 CR 11.5 中已退役)。欲了解更多信息,请参阅。 .NET 2010 请参阅以下内容... [...稍后...] 此外,由于平台明确声明我们仅支持 VS 6 中的 RDC,并且它的生命周期即将结束,因此我们无法采取任何措施来升级问题。
您确实需要升级到 .NET 和 CR .NET 程序集。使用 RAS 可以替代 RDC。
其中大部分信息至少是六个月前的信息。
SAP considers the RDC dead.
Deprecated in 2006.
"the RDC was not tested and is thus not supported in any version of VS .NET." ...
"Note that version 12.x RDC is not licensed to be used in development under any circumstances. Does not mater what language. Also, note that with CR 2008 (v. 12.x), you will only find the crviewer.dll and the craxDDrt.dll. CraxDDrt.dll always required extra Report Creation API license anyhow."
The RDC is specifically designed around the COM technologies and is intended for use Visual Basic 6 developers; therefore, it is not recommended, nor tested, for use in a .NET application. ...
To support any issue encountered with the RDC in a .NET application, these
issues need to be reproducible in a supported COM-based development tool
(such as VB6).
Only version of CR supported in .NET 2010 is CR 2010 which does not ship the RDC (RDC was retired in CR 11.5). For more info re. .NET 2010 see the following ... [ ... later ... ] Also, because the platforms specifically states we only support the RDC in VS 6 and it's end of life is almost over there is nothing we can to do escalate the issue.
You really need to upgrade to .NET and the CR .NET assemblies. Using RAS is the replacement for the RDC.
Much of this information is at least six months old.