воскресенье, 20 марта 2011 г.

Android - установка и настройка среды разработки.

Программирование на Android начинается с установки Eclipse. В данной статье я рассмотрю порядок установки и настройки Eclipse для работы с Android под Windows. Причем постараюсь рассмотреть его "от" и "до", включая генерацию цифровой подписи, автоматизацию сборки приложения, настройку ProGuard и подключение средств статистического анализа.

четверг, 10 марта 2011 г.

Kill Word. Автоматизация удаления зависших процессов, запущенных из сервиса.

Имеется сервис, конвертирующий документы из doc в html. В качестве конвертера используется Microsoft Word. Сервис управляет им через средства автоматизации. При каждом запросе на конвертацию сервис запускает экземпляр Word, открывает в нем документ, дает команду "сохранить в в виде HTML" и закрывает Word. Все прекрасно работает, но иногда процессы Word подвисают. Одна операция на сотню или даже тысячу запусков приводит к ошибке и подвисшему процессу winword.exe в Process Explorer.

Если включить в настройках сервиса галочку "Разрешить взаимодействие с рабочим столом" и сделать окно Word видимым, то причина зависания проясняется: Word что-то сообщил пользователю и ждет нажатия кнопки. Процесс Word работает на невидимом рабочем столе, так что ответить ему никто никогда не сможет.

Причины появления сообщений об ошибках могут быть самыми разными - при гигантском разнообразии конвертируемых документов без ошибок не обойтись. Остается только периодически удалять ручками такие зависшие процессы. Но конечно же, лучше этот процесс автоматизировать.