Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Label.Caption не отображается вовремя [D6, IB6.x]


Жук ©   (2004-04-16 11:52:00) 

Есть такая конструкция :
 Label.Caption:='Идёт оценка...';
 if Query.Active then Query.Close;
 Query.SQL.Clear;
 Query.SQL.Add('select ...');
 Query.Prepare;
 Query.ParamByName('...').AsDate:=StrToDate('31.03.2004');
 Query.Open;
 Query.FetchAll;
 Label.Caption:=IntToStr(Query.RecordCount);

Почему-то первое изменение метки не отображается по нажатию кнопки, для которой прописана данная процедура. Вместо вывода в кэпшен 'Идёт оценка...' программа сразу уходит в задумчивость на выполнение запроса, после чего показывает кол-во строк.
Почему ?


Жук   (2004-04-16 13:10:00) [1]


> Delirium ©
> Johnmen ©

Ясно. Спасибо.


Johnmen   (2004-04-16 12:02:00) [2]

>Жук ©   (16.04.04 11:59) [2]
>Я привык считать, что операторы выполняются один за другим :-(

Ну да. И сообщения из очереди тоже последовательно (за искл.некоторых случаев).
А  Label.Caption:='Идёт оценка...';
и есть посылка сообщения. Которое обработается позднее...
:)


Жук   (2004-04-16 11:59:00) [3]


> Delirium ©   (16.04.04 11:54) [1]

Это-то понятно. Но такого как бы не должно быть.
Я привык считать, что операторы выполняются один за другим :-(


Delirium   (2004-04-16 11:54:00) [4]

Label.Caption:='Идёт оценка...';
Application.ProcessMessages;if Query.Active then Query.Close;
...


Наверх

Титульная страница Поиск, карта сайта Написать письмо