Вниз
Скачать: CL | DM;

Destroy в интерфейсе не вызывается?   Найти похожие ветки 

← →
Cobalt ©   (2008-12-19 18:05) [0]

Сделал свой наследник  TInterfacedObject, исполняющий мой интерфейс.
У этого класса есть поле - фрейм.
Я хочу освобождать фрейм при уничтожении моего наследника, перекрыл деструктор, поставил в нем брек-пойнт, но остановки в нем не происходит.

Может кто объяснить - почему?
Ведь TInterfacedObject вызывает-таки Destroy

function TInterfacedObject._Release: Integer;
begin
 Result := InterlockedDecrement(FRefCount);
 if Result = 0 then
   Destroy;
end;


Мой класс:
 TFireFoxPlugIn = Class(TInterfacedObject, ISaverSettingsPlugIn)
  Protected
    FFrame: TfrmFireFox;
    FVersion: String;
    FHasData: Boolean;
    FCopyCash: Boolean;
  Public
   Constructor Create;
   function Present: WordBool; safecall;
   procedure SaveSettings(Directory: PWideChar; BackUp: WordBool); safecall;
   procedure LoadSettings(Directory: PWideChar; BackUp: WordBool); safecall;
   procedure GetProgramName(out ProgramName: PWideChar); safecall;
   function GetFrame(AParent: TWinControl):TFrame;
   Destructor Destroy; override;
  Published
    Property Version: string read FVersion;
    Property HasData: Boolean read FHasData;
    Property CopyCash: Boolean read FCopyCash;
 end;


Деструктор:
destructor TFireFoxPlugIn.Destroy;
begin
    FreeAndNil(FFrame);
    inherited;
end;


← →
Сергей М. ©   (2008-12-19 19:50) [1]

Приведи фрагменты использования своего объекта


← →
Cobalt ©   (2008-12-19 20:47) [2]

Блин, точно!
Я ж ссылки на него не обнуляю )))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
2-1256941705
_
2009-10-31 01:28
2009.12.20
PChar -> String


1-1229610779
Denis__
2008-12-18 17:32
2009.12.20
Многочлены


2-1257157663
Сергей
2009-11-02 13:27
2009.12.20
Как передать данные в CRReport.PrintOut


15-1254758929
turbouser
2009-10-05 20:08
2009.12.20
Что-то с аськой опять...


15-1255988155
Германн
2009-10-20 01:35
2009.12.20
Ещё один дурацкий вопрос.




   Наверх