Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Глюки с Button.OnClick


Автор: Vetos 21.11.2007, 20:27
Здравствуйте программисты!
Появилась проблемка, существует кнопка, при нажатии на нее происходят какието дествия и задержка в виде
Код

procedure TForm1.Tormoz;
var i,j:integer;
    Tim:longint;
begin
Tim:=GetTickCount;
Application.ProcessMessages;
while tim+1000>GetTickCount do;
Application.ProcessMessages;
end;

Все работает нормально кроме того что при нажатии на ету кнопочку при задержке ничего не происходит(с чего бы), а вот после задержки кнопочка нажимается сама, пробовал так
Код

procedure TForm1.Tormoz;
var i,j:integer;
    Tim:longint;
begin
Tim:=GetTickCount;
Application.ProcessMessages;
Button5.Enabled:=false;
while tim+1000>GetTickCount do;
Button5.Enabled:=true;
Application.ProcessMessages;
end;

Эффект остается таким же, а надо как то сделать чтобы она сама не нажималась smile 
Помогите пожалуйсто решить эту проблему, если решение существует)))


З.Ы.Пробовал искать по сайту, ничего не получается найти:(

Автор: lukas 21.11.2007, 21:10
убери Application.ProcessMessages; из-за него возможно код выполняется несколько раз... для наглядности пройдись F8

Автор: ivan219 22.11.2007, 09:29
Vetos, а может проблема в другом так как у меня кнопка дважды не нежимается smile 

Автор: Vetos 22.11.2007, 19:00
Цитата

убери Application.ProcessMessages; из-за него возможно код выполняется несколько раз... для наглядности пройдись F8 

Неа, это не помогает, если я его убераю, то остальные компоненты на форме  вообще не высвечиваются(я имею в виду лэйблы);
Сама кнопка визуально не нажимается но нажатие все равно происходит;

Автор: Vetos 22.11.2007, 19:32
Все, решил проблему, правда вообще левым способом, просто убираю мышку с экрана нафиг, на время задержки))
Спасибо

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