怎么在线程中释放进程的资源???(100分)

  • 主题发起人 主题发起人 kpower
  • 开始时间 开始时间
K

kpower

Unregistered / Unconfirmed
GUEST, unregistred user!
如:在程序中
Query1:=TQuery.create(nil);
Thread1:=TThread.create(Query1);
在进程中:
TThread.create(Query1:TQuery);
begin
fQuery:=Query1;
end;
TThread.destroy;
begin
fQuery.free
end;

这样能否把 进程中的 Query1 释放掉????
 
能否说明一下!!!
 
可以吧。试试不就知道了。
 
这样可以释放,但不是很清楚,,有人能说明么?
 
很简单,你创建了一个TQuery,并把地址记录在Query1中(记录的是地址指针),
然后又传递给了线程中的fQuery(传递的也是地址指针),这时访问fQuery和
Query1都可以访问到创建的TQuery,所以fQuery.Free和Query1.Free都能将那
个TQuery Free掉(FREE后再访问fQuery和Query1都将会报错)。
 
多人接受答案了。
 

Similar threads

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