type
IShowMsg = interface
procedure ShowCalssName;
end; T_A= class(TInterfacedObject,IShowMsg)
public
procedure ShowCalssName;
end;
//------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
II : IShowMsg;
ca : T_A;
begin
ca := T_A.Create;
try
II := ca;
II.ShowCalssName;
II := nil;
finally
//FreeAndNil(ca); //释放时报错!
end;
end;
IShowMsg = interface
procedure ShowCalssName;
end; T_A= class(TInterfacedObject,IShowMsg)
public
procedure ShowCalssName;
end;
//------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
II : IShowMsg;
ca : T_A;
begin
ca := T_A.Create;
try
II := ca;
II.ShowCalssName;
II := nil;
finally
//FreeAndNil(ca); //释放时报错!
end;
end;
解决方案 »
- 当在edit输入文字,就(用代码)创建一个相同的edit,当再在这个edit中输入文字时,再创建一个edit
- 怎样在已有access数据库中新建表并且自定义表的名称?
- 请问如何只启动一个进程?
- 任何删除LISTVIEW里一条选中的记录?
- 请高手指路:寻求delphi7的注册机/注册码,高手一定要显身说法!!
- 大家帮个忙,我朋友被木马困扰,有了解知道怎么摆脱的都进来聊聊。。我会再开一个贴
- 大富翁进不去,怎么办。
- 在线程中动态创建SOCKET和使用SOCKET过程中遇到了一些问题,希望有相关处理经验朋友给点帮助!
- 大家好,关于多线称出错的问题,还请大家多帮帮忙,谢谢了
- 送分:如何用ADO存储进程控件编程
- TAdoQuery 传参数Group by查询时报错!__100分!
- memorystream为什么是空的呢?
这一句就释放了你创建的ca了,所以当你再一次释放ca,就会出错
我去查了一些Delphi联机帮助,确实是这样