Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 218

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Почему кнопки становятся неактивными только после выполнения процедуры?
Как сделать чтобы код выполнялся поочередно?
Процедура AddTo; конектится к БД и получает данные. Мне нужно чтобы при нажатии на кнопку, все кнопки на форме стали не активными пока не выполнится процедура. А получается так , сначала выполняется процедура, потом кнопки исчезают и сразу появляются, как это исправить, что неправильно?

Приложение:
  1. procedure TForm2.bAddClick(Sender: TObject);
  2. begin
  3. bCloce.Enabled:= False;
  4. bAdd.Enabled:= False;
  5. Application.ProcessMessages;
  6. AddTo;
  7. bCloce.Enabled:= True;
  8. bAdd.Enabled:= True;
  9. end;


mr_switch Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: mr_switch (статус: Посетитель)
Вопрос отправлен: 21 апреля 2011, 12:17
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 24; последнее сообщение — 21 апреля 2011, 15:46; участников в обсуждении: 2.

Страницы: [« Предыдущая] [1] [2]

mr_switch

mr_switch (статус: Посетитель), 21 апреля 2011, 14:42 [#21]:

Вадим К: А основное приложение не использует ли компонентов для украшения формы скинами? или компонент WebBrowser ?
скинов нет... а вот WebBrowser есть.. это может как-то повлиять, можно подробней?
Вадим К

Вадим К (статус: Академик), 21 апреля 2011, 14:48 [#22]:

конечно может.
Вот так всегда - приходится по букве вытягивать, что бы найти причину:)
дело в том, что webbrowser перехватывает на себя фокус и не дает нормально обновляться другим компонентам. Именно он часто становится причиной многих дивных багов.
Иногда помогает выставление свойства silent в true.
Галочка "подтверждения прочтения" - вселенское зло.
mr_switch

mr_switch (статус: Посетитель), 21 апреля 2011, 15:04 [#23]:

поставил silent в true - тоже самое , пока помогает mysleep(100);

на второе приложение которое с самого начала работало нормально, накидал все компоненты которые используются в этом(RxGIFAnimator2: TRxGIFAnimator; WebBrowser1: TWebBrowser;), не чего не изменилось, все работает нормально, код выполняется последовательно.
mr_switch

mr_switch (статус: Посетитель), 21 апреля 2011, 15:46 [#24]:

Вадим К: Спасибо за помощь. Пока решил обойтись mysleep(100); может в дальнейшем выяснится в чем баг.

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 26 апреля 2026, 01:30
Выполнено за 0.02 сек.