weisheng 发表于 2016-6-1 16:18:28

_c1rbasicinfo.RenderToFile,_c1rbasicinfo.RenderToStream 会报stack overflow异常

_c1rbasicinfo.RenderToFile,_c1rbasicinfo.RenderToStream 会报stack overflow异常。附件有我做的demo。帮忙看一下。

Alice 发表于 2016-6-1 17:32:10

谢谢您的提供的Demo。
测试后给您反馈。

Alice 发表于 2016-6-2 09:31:14

您的程序编译无法通过,而且没有提供相关的xml文件,所以无法运行结果。

使用和您Demo类似的程序去测试,未重现您的问题。
请参考产品博客:
http://blog.gcpowertools.com.cn/post/2014/05/19/C1Report_Binding.aspx

在产品博客的Demo中添加按钮和代码如下:
private void button1_Click(object sender, EventArgs e)
      {
            this.c1Report1.RenderToFile("generate.rtf", FileFormatEnum.RTF);
      }
点击按钮后,会在bin文件夹下生成正确的rtf文件。
如上。

weisheng 发表于 2016-6-2 10:03:44

dr = @")“”行。因“好好、哈哈50余年,";

这个是最小的出错字符串集合,而且顺序不能改变。

weisheng 发表于 2016-6-2 10:52:17

Template_base.xml在bin\Debug下面。这个异常不是每次都重现,需要特定的字符串组合。帮忙再看一下。

weisheng 发表于 2016-6-2 10:59:09

如果编译有异常,请引用bin目录下面的reprot dll

Alice 发表于 2016-6-2 18:36:01

weisheng 发表于 2016-6-2 10:03
dr = @")“”行。因“好好、哈哈50余年,";

这个是最小的出错字符串集合,而且顺序不能 ...

问题已经重现了。
System.StackOverflowException往往是出现无限制的递归导致的,函数调用层次过多导致栈溢出。

这个问题我会提交给产品组,如果有反馈会通知您。

weisheng 发表于 2016-6-6 09:01:54

请问这个异常有规律吗?我们可以处理出错的字符串避免这个异常的发生。

Alice 发表于 2016-6-6 12:29:36

weisheng 发表于 2016-6-6 09:01
请问这个异常有规律吗?我们可以处理出错的字符串避免这个异常的发生。

从您提供的demo来看,是有特殊字符的文字。
在处理时候导致堆栈溢出

weisheng 发表于 2016-6-6 13:22:07

我们想提前处理这些特殊的字符,请问能不能提供这些特殊字符的集合?
页: [1] 2 3 4
查看完整版本: _c1rbasicinfo.RenderToFile,_c1rbasicinfo.RenderToStream 会报stack overflow异常