![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;
...