大家赶紧帮忙呀。也许大家都遇到过,解决一下吧。(100分)

  • 主题发起人 主题发起人 zljzyj
  • 开始时间 开始时间
Z

zljzyj

Unregistered / Unconfirmed
GUEST, unregistred user!
  以前我也遇到过类似问题,但没解决,就是一个小系统有多个打印报表,我
用的是Delphi自带的打印控件,但在关闭打印窗口时,出现
Access violation at address 004c8b38 in module 'test.exe',
Read of address 01297fd4
再想打印其它的报表时出现以下:
A componment named QRStandardPreview already exists.
在调试期一般没问题,但是在独自运行EXE时确出现以上的问题.
 
你查一下打印窗口关闭时干了些什么?
 
try
YpFrm.QuickRep1.Preview;
finally
YpFrm.Free;
end;
 
是 OnClose 里的吗?
好像有错,去掉
YpFrm.Free;试试
 
上面的兄弟,我怎么可能把上面的语句放在onclose里呢?好好看看吧。是在一个按钮里面的。
 
就算是在按钮里面,最好是别用free。
你有没有在那个控件的afterpring事件里加些什么语句?
最好是公布你的代码。才好判断啦。
 
贴代码出来!
 
try
YpFrm.QuickRep1.Preview;
finally
YpFrm.Free;//这里把窗体都free了当然出错了.应为QuickRep1.free.
end;
 
是否是自定义的报表?
QuickRep预览时,实际上也是生成了一个Form,
你不先把这个Form先关闭,直接就把主窗口Free,
当然出错.
 
我当初遇到这个问题时把DWF都翻个遍了,有提到的方法都试过了,结果问题依旧,最后大
家的结论就是这是quickrep的BUG,想要摆脱这个问题就只有换控件这一条路走。你可以检
索一下以前的帖子就知道了。
 
我用D6编译了一下就可以了。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部