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

Reply via email to