TObject::CleanupInstance - C++ Builder

C++ Builder 参考手册 ➙ System ➙ TObject ➙ CleanupInstance


头文件:#include
命名空间:System
函数原型:

void __fastcall CleanupInstance(void);

System::TObject::CleanupInstance 是 System::TObject 的成员函数,清除长字符串、Variants、接口变量等,把长字符串置为 Empty,Variant 置为 Unassigned 状态。不要直接调用 CleanupInstance,会在销毁实例的时候自动调用。

以下是通过分析源码得到的:

  • TObject::FreeInstance 函数内部调用了 CleanupInstance;
  • 子类重载了 FreeInstance,需要调用父类的 FreeInstance 类释放占用的资源;
  • 发现源码里面有两处子类重载 FreeInstance 没有调用父类的 FreeInstance,而是调用的 CleanupInstance,再释放自己占用的资源,不建议这样做,除非这些函数内部执行情况都非常清楚;
  • CleanupInstance 不是 virtual,不要重载。

参考:

  • System::TObject::NewInstance
  • System::TObject::FreeInstance
  • System::TObject::InitInstance
  • System::TObject::InstanceSize
  • System::TObject
  • VCL 类继承关系

C++ Builder 参考手册 ➙ System ➙ TObject ➙ CleanupInstance

你可能感兴趣的:(TObject::CleanupInstance - C++ Builder)