Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перерисовка окна с DBGRidEH, перерисовать окно 
V
    Опции темы
AndreyZ53
Дата 20.3.2014, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: 1
Всего: 2



Доброго времени суток дорогие форумчане!

Я обращаюсь с такой проблемой. У меня на форме (главной) на всю ширину и высоту установлен DBGridEh, в котором отображается 30-40 записей. Данная форма у меня прячется в трей, в течение дня. То есть, пользователь открыл с трея, данные обновились, он посмотрел, что необходимо и дальше ее свернул.

Вопрос заключается в том, что когда разворачиваем программу из трея, окно программы, где расположен грид, не отображается в течение 1-2 секунд, я прикладываю картинку, как у меня отображается грид. Через 2 секунды, все данные в нем обратно нормально отображаются.

Вопрос вот в чем, можно как-то сделать, чтобы при разворачивании из трея, грид сразу нормально отображался с формой, а не ждать 1-2-3-4 секунды (если компьютер работает 1-2 дня, то когда приходишь и разворачиваешь из трея, оно около 3-5 секунд перерисовывает).

user posted image

Заранее спасибо за какие-то советы, помощь и так далее!
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
Alexeis
Дата 20.3.2014, 10:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



  Судя по картинке это Windows XP, который страшно любит экономить оперативку, даже если ее 8 гигов будет. Как только прога улетает в трей он радостно выгружает ее из оперативы и свопит на диск. При попытке показа возникают ошибки доступа к памяти медленная операция доставания из свопа. Можно поэкспериментировать вот с этой функцией SetProcessWorkingSetSize - она позволяет менять рабочий набор программы (в оперативке) позволяя держать больше данных программы. Можно изначально задать проге побольше оперативки, а можно вместо того, чтобы сразу показывать окно, сначала вызвать SetProcessWorkingSetSize, заставив Windows загрузить бОльший рабочий набор в оперативу, а затем только вызывать у форм функцию Show. После вызова функции Hide можно напротив вызвать SetProcessWorkingSetSize с параметрами -1 -1, т.е. вернуть состояние по умолчанию. 
  А может в кешировании нуждается не сама прога, а только данные, к которым обращается грид. Т.е. для отрисовки он опрашивает свой источник данных, а источник данных не торопиться. Нет данных нечего рисовать, вот и ждет.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
AndreyZ53
Дата 20.3.2014, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: 1
Всего: 2



Alexeis, Хм, спасибо большое за совет. Действительно, я попробовал воспользоваться Вашей функцией и у меня получилось. Программа почти сразу же отрисовывает мой грид, правда она сейчас больше памяти потребляет, эдак на 10 МБ где-то.

Плюсую Вам, если что-то пойдет не так, я обращусь еще, если не против Вы
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.