![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Это глюк или я чего-то не понимаю? [D6, IB6.x, ]
drpass © (2002-01-28 14:26:00)Самый простой вариант этой ситуации:
Form1 в Unit1 и DataModule1 в Unit2.
В DataModule:
Ibtable1->DataSource1
В Form1:
Label1
Обработчик
DataSource1OnDataChange(...)
begin
Form1.Label1.Caption:=IBTable1Field1.AsString;
end;
Все работает, в свойство Caption записывается правильное содержимое, но... не отображается на экране, т.е., внешний вид Label не обновляется, даже после вызова Update! Вернее, обновляется - но только при первом срабатывании обработчика во время открытия таблицы
Это касается любого типа данных и любых компонент (DataControls работают без проблем), и других событий, например, TIBTable.AfterScroll
Переношу DataSource из DataModule1 на Form1 - все начинает работать, как и должно было.
Почему???
AndrewK (2002-01-29 09:21:00) [1]Попробуй Form1.Label1.Refresh после Form1.Label1.Caption:=IBTable1Field1.AsString;
Label может просто не прорисовываться.
RAVEN (2002-01-29 09:14:00) [2]Попробуй Application.ProcessMessages после присваивания Form1.Label1.Caption:=IBTable1Field1.AsString;
Application.ProcessMessages;
drpass (2002-01-28 18:26:00) [3]Угу, как раз так он и не работает
asafr (2002-01-28 16:36:00) [4]DataModule1.DataSource1OnDataChange(...)
begin
Form1.Label1.Caption:=IBTable1Field1.AsString;
end;