dima8389 писал(а):Подробнее можно ?
1. Я взял первый попавшийся бесплатный интерпретатор скриптов (но я часто встречал его упоминание на англоязычных сайтах) - MortScript. Бесплатный, хорошо документированный - мне понравилось. Брал с официального сайта:
http://www.sto-helit.de. Там есть разные варианты установочных пакетов (CAB или EXE) или просто бинарники для копирования. Поскольку у меня PDA = взял CAB и установил его, хотя можно было обойтись и просто копированием интерпретатора.
2. Для привязки к событиям воспользовался SKTools (всё собирался его раньше удалить за бесполезностью - а вот поди ж!). В качестве события выбрал "Start when a network has been connected". В качестве запускаемой программы - сам файл со скриптом, наваянном в обычном нотпаде. Но это я делал установку Морт-а. Если просто копировать бинарные файлы, то в качестве запускаемой программы надо указать сам Морт (где он лежит), а в качестве параметра - полный путь к скрипту (кавычки могут потребоваться, если в пути есть пробелы).
Делалось всё за несколько минут, но успел "словить" несколько особенностей:
- после добавления события в очередь через СК-тулз иногда приходится делать софт-ресет. Наверное, очередь перечитывается сервисом не сразу?
- такое событие, как "Стартовать, когда закончится синхронизация" у меня не срабатывало. Но у меня и MobileCenter (ActiveSync) настроен по-своему. Ещё один довод, почему я отказался его использовать - если я захочу подгрузится "в дороге" через WiFi без синхронизации.
- Событие "Start when a network has been connected" наступает, когда просто появился коннект. Но сеть сама в этот момент ещё может быть не готова (DHCP так далее). Поэтому пришлось ввести задержку (самая первая команда).
- Задержка через командную строку для Морт-а у меня почему-то не заработала. То ли глюк, то ли я спросонья накосячил. Но ещё одна причина перетащить задержку в скрипт - её там можно легко редактировать, а чем редактировать уже существующие элементы очереди я не нашёл.
- У меня на рабочем ноутбуке очень дохлый USB (Lenovo, мать их...) поэтому частенько бывает - подключишь что, а оно секунд через 5 отрубается. Поэтому перед скачкой проверяется коннект ещё раз, на сей раз - с сайтом. Позволяет избежать лишнего дёрганья и сообщения об ошибке в этом случае.
В принципе, можно было написать другой скрипт на Морт-е, что бы он сам ставил себя на срабатывание с задержкой по включению питания и потом - с заданным интервалом, что бы "не дёргался, если работает iGo и так далее. Но - лень было...
