怎么判断tadoquery已经被free了(50分)

  • 主题发起人 主题发起人 绯红之王
  • 开始时间 开始时间

绯红之王

Unregistered / Unconfirmed
GUEST, unregistred user!
重复free adoquery程序会报错
怎么避免被重复free
即第二次free的话怎么进行判别

没有用的
if assigned(aquery1) then freeandnil(aquery1);
依然出现invaild poniter operation
 
if assigned(adoquery) then
freeandnil(adoquery)
 
那 free过query不是null形式
那是什么形式啊
 
if Adoquery <> Nil then
Adoquery.Free;
 
if assigned(adoquery) then
freeandnil(adoquery)
 
怕程序报错就加个TRY,肯定报不出错来,我经常这么处理不太确定的东西。
 
if assigned(adoquery) then
begin
Adoquery.Free;
Adoquery := nill
end;
 
var
myADO:TADOQuery;
begin
myADO:=TADOQuery.Create(Form1);
FreeAndNil(myADO);
if Assigned(myADO) then
begin
FreeAndNil(myADO)
end;
end;
建议你将adoquery1动态创建,可以将其声明为全局变量。
 
多人接受答案了。
 

Similar threads

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