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

Вниз

Динамическое создание объекотв и методы   Найти похожие ветки 

 
AlexanderSK ©   (2002-04-05 14:34) [0]

Проблемма следующая: в run-time создаем объект (например TLabel), далее происходит какое-либо событие, инициируемое этим объектом (например OnClick), в обработчике этого события нужно удалить экземпляр его вызвавший! Совершенно понятно, что после завершения выпонения этого обработчика, происходит ошибка выполнения (возвращаьтся то не куда - объект уже удален)! Можно ли и если можно то как этого избежать?


 
MBo ©   (2002-04-05 14:53) [1]

можно - определяем сообщение, например,
const WM_DELLabel=WM_USER+100;
делаем метод

procedure WMWM_DELLabel(var Msg:TMessage);message WM_DELLabel;

а из обработчика посылаем
sendmessage(handle,WM_DELLabel,0,0);
если надо различать, что уничтожать, передаешь информацию, например, Tag нужной label, через wparam


 
Digitman ©   (2002-04-05 14:56) [2]

В обработчике события объекта посылай форме некое предопределенное тобой сообщение вызовом PostMessage(). В форме определи обработчик этого сообщения и в его теле вызывай деструктор объекта-инициатора


 
Digitman ©   (2002-04-05 14:58) [3]

>MBo
SendMessage() не пойдет.


 
Fantasist   (2002-04-05 19:28) [4]

DestroyWindow(Button1.Handle);
Для TLabel, конечно, не подойдет, но можно использовать TStatciText



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
1-57823
Ученики СШ51
2002-04-06 09:41
2002.04.18
Убрать из...


7-57909
Lizard
2002-01-20 15:08
2002.04.18
Какой модуль необходимо подключить чтобы сработала ShellExecute(0, nil,Pchar( explorer.exe ),nil,nil,1) ?


6-57832
Song
2002-01-28 14:11
2002.04.18
Я никогда не программировал сокеты, объясните мне одну простейшую вещь...


4-57923
UnDISCOvery
2002-02-14 20:12
2002.04.18
Как запретить пользователю из программы применять Alt - Tab ?


3-57641
Kuzmich
2002-03-28 15:17
2002.04.18
ADO и WebServices - вещи несовместимые?