Вначале сделаем интерфейс для нашего объекта:
Code: |
type IAutoClean = interface ['{61D9CBA6-B1CE-4297-9319-66CC86CE6922}'] end;
TAutoClean = class(TInterfacedObject, IAutoClean) private FObj: TObject; public constructor Create(AObj: TObject); destructor Destroy; override; end;
implementation
constructor TAutoClean.Create(AObj: TObject); begin FObj := AObj; end;
destructor TAutoClean.Destroy; begin FreeAndNil(FObj); inherited; end; |
А теперь будем использовать его вместо объекта:
Code: |
procedure TForm1.Button1Click(Sender: TObject); var a: IAutoClean; //must declare as local variable, so when this procedure finished, it's out of scope o: TOpenDialog; //any component begin o := TOpenDialog.Create(self); a := TAutoClean.Create(o); if o.Execute then ShowMessage(o.FileName); end; |
Взято с Delphi Knowledge Base: https://www.baltsoft
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!