Фев 05
Начитавшись в интернете статей о том, как легко создается хранитель экрана с помощью библиотеки scrnsave.lib в Visual Studio, я решил попробовать ее на практике. Собрав простенький пример на базе этой статьи, я… хм… обломался. Хранитель экрана упорно ругался на то, что не найдена функция ChangeWindowMessageFilter в USER32.DLL.
Погуглив я узнал, что такая функция появилась впервые в Windows Vista, а в XP и более ранних ею даже не пахнет. Проект я создавал в VS2008 Express, в который входила библиотека scrnsave.lib с сылкой на эту функцию. Из доступных советов было только, скачать более раннюю версию scrnsave.lib, создать DLL с “заглушкой”, и написать на форуме Microsoft SDK и тихо ждать. Еще один вариант был, создание хранителя экрана с нуля – с самостоятельной обработкой всех событий и т.п. Не густо.
Помедитировав над проектом какое-то время, я нашел достаточно простое решение, которое прекрасно работает в моей XP.
Итак, все что необходимо сделать, это пометить USER32.DLL, как отложенно загружаемую. Если конкретнее, то открываем свойства проекта, переходим в Свойства конфигурации\Компоновщик\Ввод и в значение параметра Отложенно загружаемые DLL дописываем USER32.DLL.
Tagged with: C# • Screen Saver
Янв 18
GpsGate Server имеет одну хорошую особенность, он позволяет добавлять свои web-расширения (дополнительные окна), реализующие необходимую Вам бизнес логику. Реализуются данные расширения с помощью DisplayKit, построенного, в прочем, как и весь web-интерфейс, на базе MochaUI и MochiKit. Continue reading »
Tagged with: GpsGate Server • JavaScript
Дек 14
При установке данного модуля столкнулся с такой проблемой. При запуске приложений, которые используют данный модуль, вылетала ошибка вроде такой “…DBD::Pg: libpq.so.4: cannot open shared object file: No such file or directory…”, хотя установка прошла нормально. На различных форумах было множество предположений – нехватка прав, переустановить, перезагрузить компьютер, … Положение спасло только курение readme файла. Continue reading »
Tagged with: CPAN • Perl • PostgreSQL
Дек 03
Добрался наконец-то до темы сохранения данных, поступающих от устройства, в GpsGate Server. Собственно писать-то много и не нужно, так все делается достаточно просто, если использовать стандартные таблицы сервера. Continue reading »
Tagged with: C# • GpsGate Server • Native device integration • Plugin
Ноя 27
При разработке плагина столкнулся с проблемой того, что в SiteAdmin плагин отображается, запускается и работает корректно, но при остановке плагина происходит ошибка. GpsGate Server сообщает (в логах), что не может найти протокол. Также в VehicleTracker не отображается Device mapper. Все условия, вроде бы, выполнены – свойства ProtocolID и StringID соответствующих классов возвращают одинаковые значения. Continue reading »
Tagged with: C# • GpsGate Server • Native device integration • Plugin
Ноя 25
Установка плагина и его версия имеют некоторые особенности, о которых я хотел бы упомянуть. Continue reading »
Tagged with: GpsGate Server • Native device integration • Plugin
Ноя 23
Изучив несколько примеров проектов плагинов, выделил базовую структуру, которая должна быть во всех плагинах. Плагин основывается на классах-наследниках от следующих базовых классов: GpsGate.Online.Directory.DeviceDefinition, GpsGate.Online.Net.Protocol, GpsGate.Online.Net.NmeaListener или других *Listener (зависит от требований к проекту), GpsGate.Online.Net.NmeaConnection или других *Connection. Continue reading »
Tagged with: C# • GpsGate Server • Native device integration • Plugin
Ноя 20
Данным постом хочу открыть тему по интеграции новых устройств в GpsGate Server, а также поделиться тем, что изначально удалось найти и узнать про интеграцию устройств. Continue reading »
Tagged with: GpsGate Server • Native device integration • Plugin
Ноя 20
В предыдущем посте было рассказано, как выполнять межсерверные запросы Ajax, в частности к Tomcat. Для этого использовался небольшой скриптик на PHP, который перенаправлял запрос на удаленный сервер, получал и возвращал ответ. Настало время его немного доработать в связи с тем, что он не поддерживает сессии, т.е. каждый Ajax-запрос Tomcat воспринимает как совершенно новое соединение. Continue reading »
Tagged with: Ajax • JavaScript • PHP • Tomcat
Окт 21
При выполнении ajax-запросов к “серверу приложений” Tomcat столкнулся с тем, что ответ от сервера не доходил до JavaScript. Проверив отдельно выполнение сервлета в Tomcat или выполнение ajax-запроса к тестовой странице php, удостоверился, что проблема не в них. Погуглив, вышел статью (и не одну), говорящую о том, что на выполнение ajax-запросов накладываются ограничения – ajax-запрос может быть выполнен только в том домене, где он находится, включая и порт. Т.е. если была загружена страница www.mydomain.com/index.php, то выполнить запрос она может только на страницу на домене (или поддомене) www.mydomain.com. А домены www.mydomain.com:80 и www.mydomain.com:8080 уже являются разными. Continue reading »
Tagged with: Ajax • JavaScript • PHP • Tomcat