Pull to refresh
13
0
Send message

Дельфи. Автоматическое уничтожение объектов по выходу из метода

Reading time4 min
Views1.9K
День добрый.

Думаю, все дельфийцы тысячи раз писали подобный код:

var
  MyObj: TMyObj;
begin
  MyObj := TMyObj.Create;
  try
    MyObj.DoWork;   // работаем с MyObj
  finally
    MyObj.Free;
  end;
end;


Скажем так: такая писанина надоедает. Хочется, чтоб объекты сами уничтожались при выходе из функции/процедуры.
Что ж, это достаточно легко реализовать. В результате мы получим примерно такой код:
var
  MyObj: TMyObj;
begin
  MyOb := CreateObjectDestroyer(TMyOb.Create).ObjectAsPtr;
  MyObj.DoWork;   // работаем с MyObj
end; // тут объект MyObj уничтожится


Ниже я опишу как реализовать такое поведение.
Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments27

Information

Rating
Does not participate
Registered
Activity