关于delphi报表重复显示的问题,急急急!!!!(10分)

  • 主题发起人 主题发起人 f-h-s
  • 开始时间 开始时间
F

f-h-s

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己写了一个窗体来显示报表,然后在预览的报表上添加一个Combbox,
在其OnChange事件中写入如下代码:
ShowDataFrm.QuickRep1.Cancel;
ShowDataFrm.Query1.Close;
if cb_dep.ItemIndex = 0 then
begin
ShowDataFrm.Query1.SQL.Text := 'select * from jt order by 单位';
ShowDataFrm.QRLabel_danwei.Caption := '所有单位';
end
else
begin
ShowDataFrm.Query1.SQL.Text := 'select * from jt where 单位= "'+cb_dep.Text+'" order by 单位';
ShowDataFrm.QRLabel_danwei.Caption := cb_dep.Text;
end;
ShowDataFrm.Query1.Open;
ShowDataFrm.QuickRep1.Preview;
结果是显示正确,但是在关闭预览窗口时出现如下错误:
Project raised exception class EAccessVoilation with message
'Access voilation with at address 77d15d65 in module 'user32.dll'
请问,我应当如何消除此错误(我怀疑是报表在预览后没有关闭预览,就又
重新预览所造成的),有谁能在不关闭报表预览窗口的条件下,重新显示下
一个报表,先谢谢大虾了
(不要说我吝啬给分少)
 
To journer:
对谁进行Free呢?
 
close之前
Combbox.OnChange:=nil
 
后退
顶部