急!!QReport报表,在Delphi调试状态下运行,预览第一次正常,第二次就出如下错误。。(150分)

  • 主题发起人 主题发起人 mynlxx
  • 开始时间 开始时间
M

mynlxx

Unregistered / Unconfirmed
GUEST, unregistred user!
Project Sample.exe raised exception class EDBEngineError with message 'Invalid BLOB
handle in record buffer.'. Process stopped. Use Step or Run to continue.
如果是独立运行,预览第二次就蓝屏,Esc键后,程序被关闭。。。。好惨。。
我是用Tquery + DBGrid浏览 + QReport报表。。?实现预览代码如下:
TfrmReportBoard 为报表的窗体,QuickRep1为要预览的页。。
代码:
   with TfrmReportBoard.Create(Application)do
    try
        try
            QuickRep1.PreviewModal;
        except
            MessageBox(0, '系统出现错误,请退出软件重新登录。', '错误', MB_OK+MB_ICONERROR);
        end;
    finally
        QuickRep1.Free;
    end;
 
直接用用
QuickRep1.Preview;
试试吧
推荐你用动态创建
会有好处的
 
你是不是用了blob字段的,提示它出错了,可能是在内存中没释放吧,你结束预览时
释放blob.
 
To liuxudong:
去掉两个Try吗?我已经试了,还是出错。
动态创建?是否有例子?如能指导,十分感谢!!!
 
To hbezwwl:
你好,我是对应表中的相应字段,我那句Free不能将整个报表释放?如果释放Blob?
Blob具体含义是什么?不好意思。太菜了。。:(。但现在急得很,没办法。。
 
大家为什么不帮帮忙呀?
 
我这么有毅力的提前,居然没有富翁们关注一下。气呀。。。
 
动态创建报表,就是动态创建控件呀,免得程序在启动时过于耗内存.
所谓“动态报表”可不好说,是可以任意的字段还可以表格线任意?
无非是动态生成控件,设定控件的width/Height/Left/Caption等,
这可不是三言两语能说清楚的。
另外,你的表中有哪些字段,写出来看看,多不多,大不大.
 
有表有10多个字段,1000多条记录,用到的有十来个左右。总共12页,但我发现用到1页时
,不会出错?但别人的这么多页也不会出错?真奇怪。。。
 
我也遇到过这样的问题,重作报表问题依旧.在大富翁问了没什么结果.
后来我一气之下将QR扔进回收站,用fastreport,很好.
 
没有结果,,,失望之至。
 
把Free改为Release试试
 
已经解决,程序控制产生数据
 
多人接受答案了。
 
后退
顶部