Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

Уничтожить 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.04 c
15-1165410940
Gero
2006-12-06 16:15
2006.12.31
Mylene Farmer «California»


15-1165864472
Витян
2006-12-11 22:14
2006.12.31
Как поставить программиста в тупик?


15-1165520112
GanibalLector
2006-12-07 22:35
2006.12.31
Подмена сер.номера винта


15-1165432569
tesseract
2006-12-06 22:16
2006.12.31
Кто курит трубку?


15-1165839388
Romas81
2006-12-11 15:16
2006.12.31
программный менеджер для мобильного





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский