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

Вниз

Уничтожение кнопки в OnClick   Найти похожие ветки 

 
Sandman25 ©   (2003-10-07 13:32) [0]

Доброе время суток.

В обработчике кнопки я пересоздаю интерфейс, для этого мне необходимо удалить фрейм, на котором находится нажатая кнопка.
Делаю так:
procedure TfrSettings.Button1Click(Sender: TObject);
var
OldName: string;
begin
with fMain do
begin
OldName := tcTasks.Tabs[tcTasks.TabIndex];
Hide;
Init;
// tcTasks.TabIndex := tcTasks.Tabs.Count - 1;
Show;
if tcTasks.TabIndex >= 0 then
if tcTasks.Tabs[tcTasks.TabIndex] <> OldName then
DeInitFrameSettings;
end;
end;

Но после этого обрабатывается событие WM_LMOUSE_UP, а так как кнопки уже нет (если выбрана другая страничка TabControl"а), то происходит то AbstractError, то AccessViolation.

Что можно сделать?


 
ZEE ©   (2003-10-07 13:35) [1]

PostMessage(Button1.Handle,CM_RELEASE,0,0);


 
Sandman25 ©   (2003-10-07 13:39) [2]

[1] ZEE © (07.10.03 13:35)

Вставил эту строчку сразу после Show, не помогает :(
Все равно AbstractError, а в стеке стоят:
AbstractErrorHandler
@AbstractError
TControl.WMLButtonUp((514, 0, 111, 19, (111, 19), 0))
TControl.WndProc((514, 0, 1245295, 0, 0, 0, 111, 19, 0, 0))
TWinControl.WndProc((514, 0, 1245295, 0, 0, 0, 111, 19, 0, 0))
TButtonControl.WndProc((514, 0, 1245295, 0, 0, 0, 111, 19, 0, 0))
TWinControl.MainWndProc((514, 0, 1245295, 0, 0, 0, 111, 19, 0, 0))
StdWndProc(330466,514,0,1245295)
TApplication.HandleMessage
TApplication.Run


 
Skier ©   (2003-10-07 13:41) [3]


> В обработчике кнопки я пересоздаю интерфейс, для этого мне
> необходимо удалить фрейм, на котором находится нажатая кнопка.
>

Зачем же его удалять-то ?

PostMessage(Frame.Handle,WM_CLOSE,0,0);


 
Sandman25 ©   (2003-10-07 13:43) [4]

>Зачем же его удалять-то ?

Экономлю оперативную память. Попробую с Close. Этот фрейм маленький, пускай сидит :)


 
Sandman25 ©   (2003-10-07 13:48) [5]

Все, всем спасибо. Уже фрейм не удаляю.



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-65494
chs2r
2003-10-06 17:43
2003.10.20
Run-time


14-65622
Step[B.M.]
2003-09-28 23:21
2003.10.20
Ужасно интересная задача о которой вряд-ли кто слышал :)


7-65650
mm0
2003-08-04 17:52
2003.10.20
Как запустить Хранитель экрана(Экранную заставку)


3-65345
Relaxxx
2003-09-30 15:22
2003.10.20
Получение имени пользователя который работает с базой Оракл


14-65589
ZeroDivide
2003-10-02 10:33
2003.10.20
Космические корабли, железная дорога и лошади