我在程序中调用一个MTS服务,执行好后,这个MTS没有马上释放,必须等到当前程序退出后才有真正释放,如何立即释放?(50分)

  • 主题发起人 主题发起人 dana
  • 开始时间 开始时间
D

dana

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中调用一个MTS服务,执行好后,这个MTS没有马上释放,必须等到当前程序退出后才有真正释放,如何立即释放?
比如,我的一个程序需要选择一个客户信息,这个客户信息是写在一个MTS中的,用一个方法来调用的,当客户选择好后,这个MTS没有马上释放,必须等到当前程序退出后,才会释放.
调用时,我是这样写的。
var P:Icom_ckgl;
bm,mc,changetag:olevariant;
begin
P:=Cocom_ckgl.Create;
P.show_xmgl(Bm,mc);
P:=Nil;
end;

这样哪里错了吗?
 
怎么连个回复的人也没有啊?
 
有没有人呀?
 
P:=Nil;改为FreeAndNil(p);
 
改成如下更好
p:= Cocom_ckgl.Create;
try
P.show_xmgl(Bm,mc);
finally
freeAndNil(p);
end;
 
可是这样也并没有真正释放掉的
 
试过换成p:=Cocom_ckgl.Create(nil)了吗?
 
p:=Cocom_ckgl.Create(nil)
根本没有这种写法的,create后面是不带参数的。
你们都是如何调用的?
 
后退
顶部