I think it is not the first time this topic was opened, but still think we need when using object to have automatically destructor called by compiler when the object freed
TmyObject = object FSQL: TStringList; constructor Init(SQL: string); destructor Free; end; constructor TmyObject.Init(SQL: string); begin FSQL:=TStringList.Create; end; destructor TmyObject.Free; begin FSQL.Free; end; Here in the example we can call init manually and it is not a problem, because it is always we know who is create this object. But free or destroy can not call it manually, we not know who will kill that object first, because many of another object assigned to it. Ref http://lists.freepascal.org/lists/fpc-pascal/2006-August/011626.html I know about Interfaces but i hate use it, All just we need new feature to call "destroy" when freeing the object. Best Regards Zaher Dirkey
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal