Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2013-04

Yet again Objects auto destruction

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Zaher Dirkey

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

Reply by email

August Oktobar
to Zaher Dirkey

Great idea!

Zaher Dirkey wrote 38 lines
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 - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email