Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

VadimLou



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
procedure FreeAndNil(var Obj); inline; overload;
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  Temp.Free;
end;
 
procedure FreeAndNil(var Obj, Obj2); overload;
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  try
   Temp.Free;
  finally
    Temp := TObject(Obj2);
    Pointer(Obj2) := nil;
    Temp.Free;
  end;
end;
 
procedure FreeAndNil(var Obj, Obj2, Obj3); overload;
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  try
   Temp.Free;
  finally
    Temp := TObject(Obj2);
    Pointer(Obj2) := nil;
    try
      Temp.Free;
    finally
      Temp := TObject(Obj2);
      Pointer(Obj2) := nil;
      try
        Temp.Free;
      finally
        Temp := TObject(Obj3);
        Pointer(Obj3) := nil;
        Temp.Free;
      end;
    end;
  end;
end;
 
procedure FreeAndNil(var Obj, Obj2, Obj3, Obj4); overload;
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  try
   Temp.Free;
  finally
    Temp := TObject(Obj2);
    Pointer(Obj2) := nil;
    try
      Temp.Free;
    finally
      Temp := TObject(Obj2);
      Pointer(Obj2) := nil;
      try
        Temp.Free;
      finally
        Temp := TObject(Obj3);
        Pointer(Obj3) := nil;
        try
          Temp.Free;
        finally
          Temp := TObject(Obj4);
          Pointer(Obj4) := nil;
          Temp.Free;
        end;
      end;
    end;
  end;
end;
 
и т.д. ...
 

Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 00:22 30-01-2018 | Исправлено: VadimLou, 13:31 31-01-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Embarcadero RAD Studio


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru