0

我们可以在 C++/CLI 中使用 Active Reports 7.0 吗?我刚刚开始使用活动报告。我尝试用 C# 构建报告没有任何问题。我尝试在 C++/CLI 中做同样的事情,但我无法使用活动报告工具箱。而且在运行应用程序时,它也会给出许可错误。

4

1 回答 1

0

基于代码生成的设计器不适用于 C++/CLI。您也无法使用 C++ 在报告中编写“脚本”。但是,您可以将报告设计为基于 XML 的报告 (rpx) ,然后通过SectionReport类(例如)从 C++ 实例化和调用这些报告应该没有任何问题。类似于以下内容:

GrapeCity::ActiveReports::SectionReport ^sectionReport = gcnew GrapeCity::ActiveReports::SectionReport();
System::Xml::XmlTextReader ^xtr = new System::Xml::XmlTextReader("..\\..\\rptScript.rpx");
sectionReport->LoadLayout(xtr);
xtr->Close();
viewer1->LoadDocument(sectionReport);
...

请记住,ActiveReports 用户几乎完全是 C# 和 VB.NET 用户,因此您不会找到任何 C++ 代码示例,但将代码从 C# 转换为 C++/CLI 应该很简单。

该示例基于 SectionReport 而不是PageReport,但 PageReport 完全基于 xml,因此它也应该很容易工作。

因此,为了澄清,如果您想要一个仅 C++ 的解决方案,您需要执行以下操作:

使用安装 ActiveReports 时安装在开始菜单中的“独立”设计器应用程序将您的报告创建为基于 XML 的报告(*.rpx 文件)。由于您可以将报告保存为独立的、独立的 .rpx 文件,因此您不需要使用任何 C#/VB.NET DLL。如上面的代码示例所示,您可以直接从 C++ 文件中加载 .rpx 文件(例如)。

尽管此技术不需要任何 C# 或 VB.NET DLL/EXE,但如果您使用独立 .rpx 报告文件中的脚本功能,则脚本必须是 C# 或 VB 脚本。但是,您不必自己编译,ActiveReports 在内部处理脚本。

于 2013-05-16T16:53:50.223 回答