Глава 7 Разработка приложений
Глава 7
Разработка приложений
Активация и деактивация формы
Модель выполнения программ на карманном компьютере отличается от поведения программ, работающих на обычном персональном компьютере. Например, на мобильных компьютерах используется один экземпляр запущенной программы. Аналогом подобного поведения на настольных компьютерах является почтовая программа Outlook Express, которая всегда запускается в одном экземпляре. При попытке запуска программы она просто активируется (если уже была запущена). При этом вторая копия программы не запускается.
При создании приложения для КПК разработчику не придется прилагать никаких усилий для реализации подобного поведения. Среда выполнения .NET Compact Framework сама позаботится о том, чтобы запускался только один экземпляр программы. Следует помнить, что пользователь не должен сам закрывать программу. При запуске новой программы ее окно просто загораживает предыдущую программу.
Учитывая подобное поведение, нужно писать программы, которые не занимают много ресурсов системы. Однажды запущенное приложение может находиться в памяти несколько дней, пока пользователь не перезагрузит компьютер или не закроет программу самостоятельно. Деактивированная программа закроется автоматически, если система обнаружит уменьшение свободной памяти при разрядке батареи. Но, тем не менее, иногда надо проследить, чтобы при закрытии программа освободила ресурсы, которые она использовала. Бывают ситуации, когда приложение поддерживает соединение с базой данных или осуществляет связь с СОМ-портами. В этом случае система может не освободить занимаемые программой ресурсы. Для отслеживания состояния формы используются события Form.Deactivate и Form.Activated. В листинге 7.1 приведен пример работы с этими событиями.
Листинг 7.1
private void Form1_Activated(object sender, EventArgs e) {
// Здесь ваш код для восстановления связей с портами и т.д.
lblInfo.Text = "Приложение активировано";
}
private void Form1_Deactivate(object sender, EventArgs e) {
// Здесь ваш код для освобождения ресурсов
lblInfo.Text = "Приложение деактивировано";
}
Так как приложение в неактивном состоянии может быть закрыто системой, то важно блокировать возможную потерю данных. Для этого нужно использовать событие Deactivate.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 20 Заплаты, разработка и сообщество
Глава 20 Заплаты, разработка и сообщество Одно из самых больших преимуществ операционной системы Linux — это связанное с ней большое сообщество пользователей и разработчиков. Сообщество предоставляет множество глаз для проверки кода и множество пользователей для
Глава 4 Разработка шахты
Глава 4 Разработка шахты Играя в Minecraft, вы, вероятно, потратили несколько часов, раскапывая подземелья и пещеры, добыли много угля, железа и даже алмазов и красного камня. Но чтобы получить эти сокровища вам пришлось потратить много времени, особенно если вы не нашли
Глава 8 Разработка программ
Глава 8 Разработка программ Первоначально системе UNIX предназначалась роль среды для разработки программ. В настоящей главе мы обсудим некоторые применяемые с этой целью программные средства на примере солидной программы — интерпретатора языка программирования,
Глава 30 Автозапуск приложений
Глава 30 Автозапуск приложений Собственно, я закончил описание основ работы в Ubuntu. Конечно, я старался выбрать только самые востребованные темы, оставив специфические знания за пределами своего повествования. Надеюсь, вы смогли разобраться в Ubuntu и чувствуете себя в этой
Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix
Разработка приложений баз данных InterBase на Borland Delphi/C++ Builder/Kylix Что такое InterBase Express? Пользователи Borland Delphi 5-7 и Borland C++ Builder 5-6 редакций Professional и Enteiprise наверняка уже обратили внимание на закладку InterBase в палитре компонентов. Именно эта закладка и представляет собой набор
Разработка клиентских приложений СУБД InterBase с использованием технологии Microsoft OLE DB
Разработка клиентских приложений СУБД InterBase с использованием технологии Microsoft OLE DB Немного истории Одним из распространенных заблуждений разработчиков баз данных является мысль, что СУБД InterBase ориентирована исключительно на работу с продуктами компании Borland. И этому
19.4. Разработка Web-приложений с помощью Nitro
19.4. Разработка Web-приложений с помощью Nitro Nitro — еще один комплект инструментов для разработки Web-приложений. Хотя в сочетании с библиотекой Og для объектно-реляционного отображения Nitro хорошо приспособлен к созданию традиционных приложений в духе MVC, задуман он для
19.6. Разработка Web-приложений с помощью IOWA
19.6. Разработка Web-приложений с помощью IOWA IOWA (Interpreted Objects for Web Applications — интерпретируемые объекты для Web-приложений) — это каркас, написанный Кирком Хейнсом (Kirk Haines). Он позволяет создавать повторно используемые, инкапсулированные Web-компоненты для генерации
Глава 19 Написание CGI-приложений
Глава 19 Написание CGI-приложений Постановка задачи Разработать CGI-сценарий на Delphi. В качестве примера, при активации через форму сценарий будет выводить определенную
Разработка приложений
Разработка приложений Когда вы создали и заполнили данными базу данных, ее содержимое может быть доступно через клиентское приложение. Некоторые клиентские приложения - такие как инструмент Firebird isql и ряд прекрасных коммерческих и открытых инструментов администратора
ГЛАВА 29. Разработка модулей PSQL.
ГЛАВА 29. Разработка модулей PSQL. Хранимые процедуры и триггеры объявляются при помощи операторов CREATE PROCEDURE и CREATE TRIGGER соответственно. Каждый из этих сложных операторов состоит из заголовка и
Глава 10 Окна других приложений
Глава 10 Окна других приложений • Ловушки Windows• Программа «Оконный шпион»Здесь мы будем использовать сведения, приведенные в предыдущих главах (а точнее, в главах 1, 2 и 8), для построения программы, позволяющей проводить различные операции с окнами приложений. Вы также
ГЛАВА 9 Модули приложений SAP R/3
ГЛАВА 9 Модули приложений SAP R/3 В этой главе представлены различные бизнес-функциональности системы SAP R/3. Учитывая, что SAP удовлетворяет требования всех функциональных подразделений компаний, работающих в различных отраслях, сложность и масштаб системы не вызывают