Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.06.29;
Скачать: [xml.tar.bz2];

Вниз

Обновление данных на форме   Найти похожие ветки 

 
Stas ©   (2008-05-30 17:23) [40]

>Ctrlc:=0; убрать на время.


 
Reindeer Moss Eater ©   (2008-05-30 17:25) [41]

>Ctrlc:=0; убрать на время.

>теперь положи второй грид на вторую форму в читающем приложении.
Положил - данные не обновляются....


 
Stas ©   (2008-05-30 17:32) [42]

Reindeer Moss Eater ©   (30.05.08 17:25) [41]
скорее всего у него цикл 1 раз прошел  и запрос не переоткрылся


 
Reindeer Moss Eater ©   (2008-05-30 17:48) [43]

в грид тоже из-за цикла нет новых данных?


 
ANB   (2008-05-30 18:45) [44]


> procedure TStaticForm.Timer1Timer(Sender: TObject);
> begin
> if Ctrlc=0 then
> Ctrlc:=1;
> end;

У тебя опрос таблицы делается один раз при показе формы. Перенеси код :

открыть таблицу
прочитать данные
обновить инфу на форме
закрыть таблицу

в отдельный метод. И вызывай его из таймера.

ЗЫ. Зря посоветовал. Руки надо отрывать за такие решения.


 
chargos ©   (2008-06-02 09:18) [45]

Изменил немного код: Повесил весь этот код на кнопку(Button), вместо ADOTable2.Close написал ADOTable2.Requery(после Application.ProcessMessages;), убрал Таймер. Теперь обновляется нормально, но почему-то раз в три секунды. В первой проге стоит Грид, там обновляется нормально при нажатии. Не подскажете, в чем может быть причина такой задержки?


 
MsGuns ©   (2008-06-02 10:38) [46]

Убрать к тетушке ProcessMessages, обновление контролов сразу после перечитки (Requery), собственно перечитку после выполнения изменений. "Уведомление" показывающей формы о выполненный изменениях с помощью SendMessage из "изменяющей" формы.


 
Stas ©   (2008-06-02 14:30) [47]

MsGuns ©   (02.06.08 10:38) [46]
>SendMessage
Я думаю предпологается на разных машинах их использовать.


 
chargos ©   (2008-06-02 15:44) [48]

Если убрать  ProcessMessages, то прога виснет. А программы предполагается использовать на разных компьютерах.


 
Stas ©   (2008-06-02 16:10) [49]

chargos ©   (02.06.08 09:18) [45]
т.е. если в 1-й программе изменили данные, во 2-й нажали на кнопку данные не изменились, через 3 сек, нжимаем на кнопку изменились?


 
Stas ©   (2008-06-02 16:13) [50]

chargos ©   (02.06.08 15:44) [48]

Давай так:
3-е приложение в котором лежит грид подключенный к таблице, и таймер 500 м.с.
на событие таймера делаем ADOTable1.Close; ADOTable1.Open;
Что происходит?


 
chargos ©   (2008-06-03 08:36) [51]

Stas ©
Первая программа изменяет данные в базе, вторая отображает их постоянно(вне зависимости от изменения базы). Данные обновляются в метки во второй программе. Т.е. во второй программе кнопку нажимаешь один раз и после этого данные постоянно обновляются.


 
chargos ©   (2008-06-03 08:37) [52]

Stas ©  
> Давай так:
>3-е приложение в котором лежит грид подключенный к таблице, и таймер >500 м.с.на событие таймера делаем ADOTable1.Close; ADOTable1.Open;
>Что происходит?
То же самое, то есть данные в гриде обновляются спустя 3-4 секунды.


 
Anatoly Podgoretsky ©   (2008-06-03 09:00) [53]

> chargos  (03.06.2008 8:37:52)  [52]

4 секунды это задержка сброса кеша на диск.


 
chargos ©   (2008-06-03 09:21) [54]

Anatoly Podgoretsky ©  
А можно как-нибудь время этой задержки уменьшить?


 
Anatoly Podgoretsky ©   (2008-06-03 11:59) [55]

> chargos  (03.06.2008 9:21:54)  [54]

Так это не единственная задержка, еще есть кеш винчестера.
Но тебе уже сказали отключи кеширование записи, но потом не матюгайся.
Для баз это обычное поведение, но как правило для промышленных и полу просмысленных SQL серверов и с выделением отдельного диска под базу, а то и множества дисков.


 
ANB   (2008-06-03 14:59) [56]


> но как правило для промышленных и полу просмысленных SQL
> серверов

Эти выдают все честно и сразу после коммита. Независимо от кэширования.



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.04 c
2-1212327471
Ceil
2008-06-01 17:37
2008.06.29
Панель задач


2-1212474154
muk
2008-06-03 10:22
2008.06.29
перехватить конкретный exception


2-1212313498
alex-drob
2008-06-01 13:44
2008.06.29
Как обьеденить две области памяти


2-1212269187
Randew
2008-06-01 01:26
2008.06.29
Помогите найти ошибку, пожалуйста...


2-1212096870
deras
2008-05-30 01:34
2008.06.29
Функция в MSSQL2000





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский