Страница 1 из 1

Обновление экрана

Добавлено: 08 Сентябрь 2009, 10:31
KoMap
День добрый
C6
Для обновления экрана использую Display, но мне не нравится следующее - допустим я провожу какую-то обработку, перед началом вычислений открываю окно в котором показываю номер выполняемой операции, т.е. делаю операцию, номер увеличиваю на 1, Display... Все работает (в смысле экран обновляется-счетчик изменяется), но это происходит пока окно выполняемой программы активно. Стоит только переключиться в другую программу (те же far, qip) как обновление моего информационного окна прекращается и что делает программа становится не ясно. Как побороть сие зло?

Re: Обновление экрана

Добавлено: 09 Сентябрь 2009, 0:40
Tuko_G
ну что если через Timer будет Display(?Var) ?

Re: Обновление экрана

Добавлено: 09 Сентябрь 2009, 2:16
StillZero
через Timer будет Display(?Var) ?
не, не катит
надо чтобы цикл отрабатывал через таймер, т.е. не loop, а на таймер обработку след записи, тогда будет ок
либо, делать два потока, один отображет данные, а другой (возможно невидимый) обрабатывает

Re: Обновление экрана

Добавлено: 09 Сентябрь 2009, 14:10
lsgsoftware
Ты знаешь, сам активно этим пользуюсь.Прогресс-бар на дух не
переношу, а так бегут цифирки, а конце сообщение выкидываю типа
столько то записей обработано. Сходу проверил на своей проге,
где расчет начинается в простом окне по кнопке через код в Embed
также через loop по файлу - нет никаких отдельных потоков. Сразу
перешел в FAR, гуляю по нему, а цифирки в неактивном окне бегут
как надо. Платформа С639059. Так что похоже все должно
работать

Re: Обновление экрана

Добавлено: 09 Сентябрь 2009, 16:48
Yufil
Попробуй после Display поставить Yield() . Обычно помогает

Re: Обновление экрана

Добавлено: 10 Сентябрь 2009, 5:35
KoMap
Попробуй после Display поставить Yield()
Спасибо - помогло