Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Уничтожить TClientSocket после disconnect-а.   Найти похожие ветки 

 
ezorcist   (2006-12-09 20:51) [0]

попробывал написать destroy в OnDisconnect - ошибка. ??


 
Джо ©   (2006-12-09 20:53) [1]

> [0] ezorcist   (09.12.06 20:51)
> попробывал написать destroy в OnDisconnect - ошибка. ??

Уничтожать компонент в его собственном обработчике события — не есть хорошая идея. Стандартный обходной путь: посылать (PostMessage) форме заранее известное сообщение, в его обработчике и уничтожать нужный компонент.


 
Ezorcist   (2006-12-09 20:56) [2]

А можно пример?


 
Джо ©   (2006-12-09 21:15) [3]

> [2] Ezorcist   (09.12.06 20:56)
> А можно пример?

Удаление кнопки в ее собственном обработчике OnClick:

const
 WM_DESTORY_OBJECT = WM_USER + 666;

type
 TForm30 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   procedure WmDestroyObject (var Msg: TMessage);
     message WM_DESTORY_OBJECT;
 end;

var
 Form30: TForm30;

implementation

{$R *.dfm}

{ TForm30 }

procedure TForm30.Button1Click(Sender: TObject);
begin
 PostMessage (Handle,WM_DESTORY_OBJECT,Integer(Sender),0);
end;

procedure TForm30.WmDestroyObject(var Msg: TMessage);
begin
 TObject(Msg.WParam).Free
end;

Аналогично и с любым другим объектом.



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

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.062 c
2-1165688017
addi
2006-12-09 21:13
2006.12.31
Размеры формы


3-1161322590
DelphiN!
2006-10-20 09:36
2006.12.31
SQL запрос


2-1165859554
Sam Stone
2006-12-11 20:52
2006.12.31
BeginThread(), MessageBox() и грабли


15-1165766364
vidiv
2006-12-10 18:59
2006.12.31
Как в ASPLinux поставить KDE?


15-1165502008
Kostafey
2006-12-07 17:33
2006.12.31
Delphi_Code_Library