起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 222|回复: 3

【结贴】关于TBaseHessianServer类的疑问**

[复制链接]
发表于 2009-3-19 13:28:39 | 显示全部楼层 |阅读模式
TBaseHessianServer = class
  private
    FJavaClassMapping: TJavaClassMapping;
    FCallWriter: THessianCallWriter;

    FObjectReader: TBinaryObjectStreamReader;
    procedure RaiseFault(MethodName: string; Fault: TFault);
  protected
    function DoCall(Buffer: array of Byte): TStream; abstract;
  public
    constructor Create;
    function Call(MethodName: string; Params: array of object): object;

    property JavaClassMapping: TJavaClassMapping read FJavaClassMapping;
  end;

  TBaseHessianServer的超类是什么,包括其派生类THessianServer都没有Free方法,怎么释放对象?
回复

使用道具 举报

发表于 2009-3-19 13:39:08 | 显示全部楼层
呵呵!声明类型的时候不指明前代类,默认是从Object上派生下来的,这种类的实例是不用free的,其实现有些类似于.Net或java中的类。
回复 支持 反对

使用道具 举报

发表于 2009-3-19 13:43:14 | 显示全部楼层
系统的GC功能会回收内存中这种类型的实例,但如果担心回收不及时,可以在class后面指明前代类是TObject这样就可以自己释放,而不用等GC回收了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-20 08:33:48 | 显示全部楼层
我还担心THessianServer的实例不会被释放呢
OK
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-23 21:31 , Processed in 0.039032 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表