Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Tfame создание и уничтожение


Автор: X-Vlad 8.12.2007, 01:35
Привет, всем.
Такая вот проблема: Есть фрейм на нем несколько контролов. создаю на форме по нажатию на кнопку этот фрейм.. потом уничтожаю.. но переменная не освобождается :( в чем баг?
Код

...
  private
    FListFrame: TframeList;
  public
...
  end;

var
  MainF: TMainF;

implementation

uses ClientDMU;

{$R *.dfm}

procedure TMainF.acListExecute(Sender: TObject);
begin
  if FListFrame = nil then begin
    FListFrame := TframeList.Create(nil);
    FListFrame.Parent := ListPanel;
    FListFrame.Align := alClient;
    FListFrame.Visible := True;
  end else
    FListFrame.Free;
end;

Автор: VICTAR 8.12.2007, 02:57
Код

FreeAndNil(FListFrame);

Автор: X-Vlad 8.12.2007, 23:09
помогло thanks.

Автор: MetalFan 9.12.2007, 10:40
Цитата(X-Vlad @  8.12.2007,  01:35 Найти цитируемый пост)
но переменная не освобождается

память, занимаемая объектом, освобождается после free. ссылка на объект становится невалидной

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)