Аномальная активность Windows Defender

По роду своей деятельности мне часто приходится создавать EXE-файлы. Компилятор — Delphi XE3. Со вчерашнего дня обнаружилось, что защитник Windows настойчиво предлагает отправить в Microsoft для анализа только что «собранные» exe-модули. Причём, это тестовые программы небольшого размера, кода там мало, внутри нет никакой крамолы типа прямого обращения к ресурсам компьютера или извращений с объектами, для которых нужны повышенные привилегии. Continue reading «Аномальная активность Windows Defender»

Unnable to start gdbserver on port ‘64311’. Port is already in use.

В Delphi XE5 при создании приложения под Android и заливке его на реальное устройство (планшет Asus Nexus 7), debug в Delphi не работает, окно deploy-инга не закрывается, а когда нажать на кнопку «Cancel» , вываливается ошибка:

gdberror

Почему порт занят, мне выяснить не удалось, telnet 64311 в командной строке не выявил какой-то активности на этом TCP порту. Continue reading «Unnable to start gdbserver on port ‘64311’. Port is already in use.»

Как включить отладку по USB на Android 4.3 Google Nexus 7?

unlockandroidСтолкнулся сегодня с такой необходимостью, а пункта меню «Для разработчиков» в меню настроек планшета просто нету.

Оказывается, у ребят из Гугла хорошее чувство юмора и опыт квестовых игр 🙂 Заходим в меню настроек, «Система» — «О планшете» и щёлкаем где-то десяток раз на пункте «Номер сборки«. Звучит глупо, потому что пункт открыть нельзя, но тем не менее.

Где-то на 7-10 клике нам говорят, что мы уже почти стали разработчиками. Буквально 🙂 И после этого в разделе настроек «Система» появляется долгожданный пункт «Для разработчиков«.

Profit!

Кстати, если после того, как мы уже открыли вожделенный скрытый пункт меню, снова попытаться понажимать на номер сборки, вдруг денег даст ещё что-то случится — то нет, система лаконично пошлёт нас «Не нужно, вы уже разработчик.». Такие вот дела.

Интеграция системы обмена мгновенными сообщениями и корпоративных ИС

Не секрет, что хорошая корпоративная программная информационная система — это такая система, которую можно «увязать» с другими программами, чтобы они не просто уживались вместе, а дополняли друг друга. Я сейчас говорю о разработках совершенно разных компаний, никак между собой не связанных.

Возьмём, например, корпоративную CRM/ERP систему. Допустим, фирма внедрила у себя такую систему и успешно ею пользуется какое-то время. И тут компания покупает средство для обмена мгновенными сообщениями и файлами — MyChat. Вроде бы всё хорошо, обе системы нормально справляются со своими обязанностями. Однако, хотелось бы, чтобы можно было не просто пользоваться обеими системами по отдельности, а заставить их дополнять друг друга. И чем «плотнее», тем лучше.

Основная функция MyChat — это общение людей между собой посредством мгновенных сообщений. Далеко не каждая CRM или ERP система может предоставить своим пользователям развитые средства онлайн-общения. Это не их основная функция. Да, в таких системах, как правило, есть какой-то аналог электронной почты, но эту возможность нельзя назвать полноценной заменой IM. Continue reading «Интеграция системы обмена мгновенными сообщениями и корпоративных ИС»

Не собирается библиотека Synapse в Delphi XE3

Этот пост начинает серию записей, которая будет описывать процесс перевода большого коммерческого проекта, которым является MyChat, на «новые рельсы». Сейчас проект работает на Delphi 7. Это довольно старая среда, по современным меркам, ей уже больше 10 лет. Поэтому мы начали переход на Delphi XE3, который вышел осенью 2012 года.

Первая проблема, с которой я столкнулся, это невозможность компиляции библиотеки Synapse, которую мы используем для организации связи, в новой среде. Последняя версия библиотеки, которая есть на официальном сайте, не поддерживает Delphi XE3 и модуль synautil.pas отказывается компилироваться из-за того, что отсутствуют переменные TimeSeparator и ShortMonthNames. После копания в документации, оказалось, что этих переменных в Delphi больше нет, они исключены, как потоконебезопасные. Embarcadero рекомендует использовать переменную класса TFormatSettings вместо того, что было раньше.

Итак, поправленный модуль здесь, всё чудесно собирается и работает.

P.S. Не пугайтесь, что в коде переменная класса TFormatSettings создаётся, но ей не делается Free. Пример для переделки взят с официального сайта Embarcadero — тыц. Методы класса static, так что всё Ок.

Когда выйдет новая версия?

Где новая версия?Сейчас вовсю идёт тестирование новой версии MyChat — 4.13. Одна из фишек, которая была реализована в готовящейся версии — это цветовая и шрифтовая разметка сообщений. Более подробно о технологии написано в официальной новости. Вроде не супер-пупер-мега фишка — всего-то сделали разметку сообщений, а раньше был просто чёрный текст. Удобнее теперь стало.

Пользователи недоумевают — а чего же так долго новая версия не выходит? Всего-то добавили мелочь, а свежей версии всё нет и нет. «Тестируют» что-то разработчики. Думаю, следует обстоятельно рассказать, «почему, что и как», дабы непосвящённые люди понимали «кухню» разработки коммерческого софта.

Итак, начнём сначала.

Continue reading «Когда выйдет новая версия?»

«Как бороться с кряками» или Гоша и Яша спешат на помощь

Все мы знаем, что воровать нехорошо. «Нельзя брать чужое» — учили ещё в детском садике. «Нельзя воровать софт» — твердят нам компании-разработчики ПО.

Но, если монстры типа Adobe и Microsoft, могут позволить себе держать армию юристов, которые будут отстаивать их права в суде, что последние с успехом и делают, то что делать простому шароварщику, который в одиночку пишет свой софт и продаёт его? Или небольшой компании, у которой есть один-два продукта, с которого и живут её сотрудники? Continue reading ««Как бороться с кряками» или Гоша и Яша спешат на помощь»

Четыре вещи, о которых необходимо помнить разработчику ПО

На написание этой статьи меня сподвигла заметка Леонида Каганова «Боже, как я ненавижу кодировку UTF-8!», где он в ярких красках описывает свои ощущения в качестве обычного пользователя компьютера при переходе на новую версию браузера Firefox.

FireFox почему-то не пожелал подобрать старые закладки, настройки и плагины, а просто установился «с нуля». Continue reading «Четыре вещи, о которых необходимо помнить разработчику ПО»