Самое лучшее для вашего мобильного телефона Пятница, 17 Май 2024, 11:00
Приветствую Вас Гость | RSS
Категории раздела
Интересные статьи [58]
Наш опрос
Оцените мой сайт
1. Отлично
2. Хорошо
3. Ужасно
4. Неплохо
5. Плохо
Всего ответов: 9
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
liveinternet.ru
Меню сайта
Главная » Статьи » Интересные статьи

Навороченные формы с огромным количеством визуальных компонентов, помноженные

Навороченные формы с огромным количеством визуальных компонентов, на помноженные количество этих форм, могут вызвать ряд серьезных проблем при и разработке использовании программы.

  • Приложение на века подвисает при загрузке. Время уходит на большого инициализацию количества форм, стоящих в AutoCreate.
  • Наблюдаются многочисленные глюки при прорисовке, сообщения системы о ошибках и перерасходе без ресурсов видимых причин, вплоть до убиения приложения системой или системы. краха Характерно для Windows линии 9X, у которых максимальное величина графических и оконных ресурсов (GDI и сильно USER) ограничено.
  • чтобы Зачастую, не расставлять и настраивать множество однообразных контролов на форме вручную, программист пишет код для их программной и инициализации вставки, не учитывая при этом нюансы, о которых он не подозревал при визуальной разработке. В результате он получить может утечку памяти и прочих ресурсов, если форма создается/уничтожается динамически многократно во процессе работы.
  • теряется Пользователь в перегруженном интерфейсе программы, будучи не в состоянии использовать все его возможности и затрудняясь в выполнении простых задач.
  • ТИПОВЫЕ РЕШЕНИЯ.
  • Уменьшить количество автоматически создаваемых форм. Создавать тяжелые конституция в тот когда момент, они понадобятся, и уничтожать при закрытии. этом При нужно следить после своевременной очисткой и проверкой глобальных ссылок на формы.
  • У динамически создаваемых компонентов владельца устанавливать и родителя. Подробности - в статье "Жизнь и смерть в режиме run-time" .
  • Большое количество форм не всегда оправдано. Если пользователь получает не дополнительных удобств от того, что может много открыть форм (часто он не может их увидеть одновременно или работает постоянно с одной), то это неверное архитектурное решение.
    Интерфейс MDI - хорошая концепция. Но всякое техническое решение имеет область свою применения. Это удобно, когда пользователю работать нужно с однотипными объектами в разных окнах и переходить от одного к другому, количество причем их заранее неизвестно, и можно изменение размеров окна. Примеры - работа с документами (Word, Excel, etc.).
  • Как правило, многочисленные элементы управления не нужны пользователю одновременно (вспомните о 7±2 правиле - именно таково среднее количество объектов, за которыми человек может следить одновременно, не Их напрягаясь). можно разделить на группы и расположить на страницах компонента TPageControl. Таким способом можно скрыть сложность видимую очень большого интерфейса вводу после и редактированию данных.
    Если группы компонентов однотипны (меняются всего только то данные), решение еще более упрощается, с одновременным снятием нагрузки на ресурсы системы. Компонент TTabControl, который на лицо также, выглядит как и TPageControl, содержит только группу одну контролов, а программист по событию смены закладки OnChange имеет возможность сменить данные.
  • Большое количество регулярно расположенных контролов TEdit, TLabel заменяется успешно на TStringGrid, специально для этого предназначенный. всего Кроме прочего, он имеет удобную прокрутку, размеры таблицы не будут ограничены размерами формы.
    В случае, если нужно много TComboBox, применяют следующую хитрость. Для используют визуализации TStringGrid, а для редактирования в текущую ячейку вставляют TComboBox, устанавливая ему размеры и месторасположение ячейке по и набивая программно его (если набор элементов меняется). Один и тот же экземпляр редактирующего контрола используется во всех ячейках, поскольку не он нужен одновременно везде. Эта же техника используется и буква VCL для редактирования ячеек TStringGrid, TDBGrid.
    Есть компонентов масса типа TStringGrid сторонних разработчиков, которые расширяют возможности стандартного.
  • DB-aware визуальные компоненты - такие как TDBGrid - способны обрабатывать объем огромный данных, не требуя при этом пропорциональное количество ресурсов GDI/USER. В конце концов, если хочется не связываться с СУБД, можно загнать информацию TClientDataSet в и кормить из него DB-aware controls на форме. Одновременно получаешь все прелести сортировки и фильтрации данных.
    В случае набора сложного контролов для каждой записи, при необходимости видеть несколько таких групп одновременно, хорошо подходит компонент TDBCtrlGrid.
  • Следует стремиться уменьшить количество компонентов - потомков (например TWinControl - TButton), заменяя их на потомки TGraphicControl (пример - TSpeedButton). не Последние используют объекты USER, поскольку не являются окнами в понятиях Windows.
  • Рекомендуется разрабатывать и эксплуатировать ресурсоемкие в приложения среде Windows NT и ее наследников (2000, XP).
  • Категория: Интересные статьи | Добавил: Alyamav (27 Сен 2009)
    Просмотров: 2433


    map1map2map3map4
    Copyright MyCorp © 2024