PurchaseFrm.Query2.Active := False;
PurchaseFrm.Query2.Active := True;
Close;
PurchaseRecordFrm.Free;
先释放了父窗体,哪来的Query2啊
PurchaseFrm.Query2.Active := True;
Close;
PurchaseRecordFrm.Free;
先释放了父窗体,哪来的Query2啊
解决方案 »
- 提示'.' exoected but '(' found
- TDBEdit不接受SetWindowText?
- 找 Delphi 4 找Delphi 4
- 如何将做的程序加到IE的工具条上去,请高手指点,在线等......
- 寻找一个DBGrid直接打印控件!
- 我的主页空间支持cgi,php等,我能否用delphi来编写这些程序呀,请帮助?
- 如何创建path1(目录)的快捷方式到path2?(希望讲一下原理,而不是代码注释)
- 请问小键盘上的回车键伪码是什么?
- delphi中如何直接连接到SQL Server?请高手赐教
- 关于stringgrid的问题
- 关于查询定位的问题?
- 怎样在dbgrid中显示memo字段的内容?
那就在关闭按钮里不Free,在程序主窗体关闭时再Free也可以。
...//Query2的设置
PurchaseFrm.Query2.Execute;
Close;
PurchaseFrm.Query2.Active := False;
PurchaseFrm.Query2.Active := True;
Close;
PurchaseRecordFrm.Free;
可是调试的时候,PurchaseFrm.Query2.Active := False;该语句就发生错误,
Access Violation...我查过了,好像是指针发生错误,如何解决该问题?
procedure TPurchaseRecordFrm.Button3Click(Sender: TObject);
begin
with PurchaseFrm.Query2 do
begin
Close;
SQL.Clear;
SQL.Add('select ...'); //刷新PurchaseFrm中的相关数据
Open;
end;
Close;
Free;
end;
然后再procedure TPurchaseRecordFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);中打开PurchaseFrm.Query2
PurchaseFrm.Query2.active:=false;
PurchaseFrm.Query2.active:=true;再在procedure TPurchaseRecordFrm.Button3Click(Sender: TObject);
中关闭窗口就好了
close;
PurchaseRecordFrm.Free;的工作不应该在Button3Click中来做
拜托了,这绝对是个很简单的问题,不要打哑谜了。
在Project-》Options-》左边有没有PurchaseFrm?
或者PurchaseFrm在什么地方被你Free了
PurchaseFrm.Query2.Active := False;
PurchaseFrm.Query2.Active := True;
写在PurchaseRecordFrm的onclosequery的事件中在PurchaseRecordFrm的onclose写action:= cafree;procedure TPurchaseRecordFrm.Button3Click(Sender: TObject);
begin
Close;
end;
这样应该没有问题了
的问题
可能是你没有创建窗体
有没有使用application.creatform(tform,form)创建你要使用的窗体