Access violationat address 00403C1A in module?急!(200分)

  • 主题发起人 主题发起人 jonelin
  • 开始时间 开始时间
J

jonelin

Unregistered / Unconfirmed
GUEST, unregistred user!
1.程序运行中途出现以上错误提示这是怎么回事?
2.用Quickreport画表格幅面为宽行打印纸,其中约有200个小格子
需填数据数据来自三个库,原想放Qrlabel于表格上运行中将其Caption
赋值以显示数据,不料才赋到第20个即出现以上错误,这是为何?
3.我下载了一个Creport,但不见范例和使用说明。
哪位老兄可邮我一套完整的Ereport,我欲用它替代Quickreport
以解决以上报表若能告知使用方法,不胜感激。
4.有无其它报表控件,可解决我的报表。
思路是先画好表格运行期送入数据,急!!!
以上问题每个50大洋,家产都送了!
 
1,2:可能是你访问了未分配内存的变量。或者和QR的内存泄漏有关。
3:DELPHI。YESITE。COM可能会有。
4:试用REPORT BUILDER,还不错。delphi4.da.ru有得下。
 
啊,一定是你第二十个qrlabel的名字写错了,编译时找不到以这个名字命名的
qrlabel,所以产生错误.我以前碰到过的.
 
1.我最近屡次碰到这个问题,变量名并未写错,变量都是事先声明好的,
应该是已分配内存,这个问题几乎让我无从继续编程,哪位大虾请速来相救!
2.另ereport我已下载,由于表格中各格子的数据来于3个数据库,
且很大一部分属不同记录的同一字段,故我只能在每一格子
放一变量,变量名用a111,a112....
程序如下:
for i:=1 to 3do
for j:=0 to 5do
for k:=0 to 7do
setvarvalue('a'+inttostr(i)+inttostr(j)+inttostr(k),
floattostr(htwj.fieldbyname('bl').asfloat);
但运行到setvarvalue亦出现以上错误,不知是否与变量太多有关?
整个表格大约放了200个变量,有无其它做法?
 
你先把打印内容生成到临时表中吧,免得变量太多。
 

此类报错是VCL内部报错,应该是控件越界访问内存了,应该是
资源问题,看来变量是太多了.
 
1.盡可能用動態的宣告方式比較好.
 
改成setvarvalue(AnsiString('a')+inttostr(i)+.....
试试
 
1: 该问题可能是数组下标超界。如声明20个元素,却访问第21个。还有一种可能访问另一个窗体中的控件,但该窗体并没有被创建(自动创建或显式创建),大家是否知道delphi的project菜单下有一个option子菜单,它可以设置窗体是否自动创建,以下创建的先后顺序。比如Form1在Form2之前创建,但若在form1的onCreate事件中引用Form2中的元素,则肯定会出现这个问题
建议在引用某对象之前,分析该对象是否巳被创建

2:我建议采用动态创建的办法
 
最后把变量缩减果然解决了,在此多谢各位老兄的宝贵建议。
真是受益非浅,无奈银两不多,分给你们,再谢!
 
多人接受答案了。
 
后退
顶部