воскресенье, 20 ноября 2016 г.

О том, как можно генерировать локализованные версии справки

Данная заметка рассказывает о том, как можно генерировать локализованные версии справочной системы на основе нашего программного кода (в данном случае написанном на C#). Если кто-то знает более удобный способ - с интересом почитаю о нём в комментариях к этой заметке.

понедельник, 14 ноября 2016 г.

NuGet-пакет для Revit 2017

На https://www.nuget.org не нашёл от Autodesk NuGet-пакетов для Revit 2017. Соответственно, сделал свой.

понедельник, 10 октября 2016 г.

CHM: о наименовании каталогов и файлов исходников.

Недавно столкнулся с проблемой, когда Help and Manual не мог успешно компилировать мой проект в документацию CHM-формата. Причём тот же самый проект успешно опубликовывался в PDF-версию.

суббота, 20 августа 2016 г.

Динамический вызов функций неуправляемых DLL

В .NET-атрибутах можно указывать только константные выражения. Т.о. атрибуту DllImport нужно указывать имя библиотеки статически, дабы это имя было известно на этапе компиляции. Порой это порождает уродливые конструкции, разрастающиеся как снежный ком, по мере появления новых версий AutoCAD. Наглядный тому пример можно увидеть здесь в коде Александра Ривилиса: по мере появления AutoCAD 2018, 2019 и т.д. - этот код придётся каждый раз дописывать.

среда, 10 августа 2016 г.

Работа с реестром в операционных системах Windows (часть 2)

Когда-то здесь я выкладывал инструменты по работе с реестром для .NET 3.5 SP1. Обнаружилось, что начиная с .NET 4.0 сигнатура нужных для обозначенного кода конструкторов класса RegistryKey была изменена. Как следствие - если наша сборка, скомпилированная под .NET 3.5 SP1 в дальнейшем окажется загруженной в .NET 4.0 (или любую более новую), то мы будем получать исключение времени выполнения при вызове некоторых методов опубликованного кода.

пятница, 22 июля 2016 г.

NuGet пакеты для AutoCAD .NET API

Пару лет назад, компания Autodesk начала (наконец-то!) опубликовывать NuGet-пакеты для AutoCAD .NET API. Об этом так же было радостно сообщено в блоге ADN. Однако, как это обычно и бывает у Autodesk, тестированием пакетов перед их публикацией в Autodesk не заморачиваются (как собственно и тестированием самого AutoCAD, ибо длительная, печальная практика показывает, что группа тестирования даже самого AutoCAD в компании Autodesk в принципе нарисована только "для галочки" - примеров, доказывающих это - множество, в т.ч. и в моём блоге).

воскресенье, 8 мая 2016 г.

Изменение серийного номера для MS Office 2016

Порой, производя очередную активацию MS Office, можно получить сообщение о том, что лимит количества активаций с этим ключом уже исчерпан... В этом случае можно выполнить активацию переписав ключ новым значением. Возникает вопрос: как заменить ранее указанный ключ продукта на более новый?


понедельник, 2 мая 2016 г.

ODA обновила свой сайт

Компания ODA обновила внешний вид своего сайта. Теперь он смотрится гораздо лучше. Кроме того, в обновлённой версии сайта появилась группа Blog, с категорией Guide (помимо прочих), что даёт некоторую надежду на то, что в этой категории в дальнейшем будут появляться записи.

четверг, 28 апреля 2016 г.

Импорт конфигурационных настроек сервисами и клиентами WCF

В некоторых случаях службы и клиенты удобно реализовывать в виде отдельных DLL, которые затем могут быть использованы различными приложениями. Например: MyService.dll и MyClient.dll. Предполагается, что они будут находиться в подкаталогах ./Extensions/MyExtensionName/ хостовых приложений, дабы при необходимости оный контент всегда можно было бы просто удалить даже вручную, не зацепив при этом случайно ресурсы основного приложения.

среда, 27 апреля 2016 г.

Об использовании событий pre-build и post-build в Visual Studio

В некоторых проектах, создаваемых при помощи Visual Studo, возникает необходимость выполнения различного рода дополнительных операций в pre-build [и | или] post-build.

пятница, 22 апреля 2016 г.

Книги в PDF формате, доступные для скачивания

На ресурсе http://www.allitebooks.com/ выкладываются книги в формате PDF, доступные для свободного скачивания. Библиотека пополняется ежедневно (ну или почти ежедневно). Пользуюсь давно.  По указанной ссылке книги не испорчены (как это зачастую бывает в наше время) переводом с английского на русский язык. Я редко встречал качественный перевод, в виду чего с некоторых пор предпочитаю читать на языке оригинала.

четверг, 21 апреля 2016 г.

И снова о хостинге WCF-сервисов в 2016-м accoreconsole.exe...

Подумал тут... Вполне возможно, что Autodesk умышленно прикрыла возможность хостинга сервисов в 2016-м accoreconsole.exe, дабы если не полностью пресечь (т.к. это не возможно), то хотя бы максимально усложнить возможность использования инструмента в системе распределённых приложений взаимодействующих через сервисы...

вторник, 19 апреля 2016 г.

четверг, 14 апреля 2016 г.

О хостинге WCF-сервисов в accoreconsole.exe (AutoCAD 2016)

Как известно, WCF-сервисы могут в качестве хостинга использовать не только IIS и WAS, но так же и произвольные приложения (консольные или GUI). Как показывает практика, в качестве хоста можно использовать acad.exe. В идеале хотелось бы иметь возможность хостить службы в accoreconsole.exe, но не забываем, что это Autodesk, а это означает, что скучать не придётся...

пятница, 8 апреля 2016 г.

Блокировка кнопки и контекстного меню закрытия консольного окна

Как известно, accoreconsole.exe всегда был и до сих пор остаётся достаточно кривым... Один из неприятных аспектов его поведения, присутствующий по сей день, заключается в том, что если завершать работу приложения кликом мышки по кнопке закрытия консольного окна в верхнем правом углу, либо выбирая соответствующий пункт из контекстного меню консольного окна, то приложение завершает свою работу через задницу - не выполняя код методов Terminate(), а так же код зарегистрированных событий, таких например, как AppDomain.CurrentDomain.ProcessExit.

понедельник, 4 апреля 2016 г.

C#: скачиваем файлы из Интернет


Пример кода для простого скачивания файлов из Интернет (например файла http://stroustrup.com/Programming/PPP2code/std_lib_facilities.h). Сетевые настройки при этом считываются из настроек Internet Explorer.

пятница, 11 марта 2016 г.

Тренажёр для развития навыков счёта в восьмеричной и шестнадцатеричной системах исчислений

Написал простую программку для тренировки навыков счёта в восьмеричной и шестнадцатеричной системе. Выложил здесь (доступ на скачивание исходников и exe-версии открыт). Программа генерирует выражения, использующие заданные операторы для выбранной пользователем системы (или систем, если выбрано несколько) исчисления. Значения операндов берутся из указанных пользователем диапазонов.

пятница, 4 марта 2016 г.

Об отображении нажимаемых клавиш в Autodesk ScreenCast

Autodesk ScreenCast в своей работе использует Snagit, о чём Autodesk информирует пользователя в сообщении, когда просит его подождать некоторое время до окончания публикации видео на сайте. Если записываемый пользователем набор операций выполняется на локальном компьютере, то в конечном видеоролике эти нажатия показываются текстом. Но возможны и другие варианты записи...

среда, 10 февраля 2016 г.

Об обновлении справки в PowerShell через Update-Help.

В PowerShell 4.0 при запуске Update-help (с административными правами и доступом в Интернет) я получаю сообщение об ошибке - мол не удаётся подключиться к серверу. Поиск по Интернету сразу же показал, что с обозначенной проблемой столкнулся не только я...

среда, 3 февраля 2016 г.

Хостинг PowerShell в AutoCAD

На Bitbucket опубликовал пример хостинга PowerShell в AutoCAD. Такой хостинг позволяет программировать в AutoCAD на PowerShell путём использования AutoCAD .NET API. Демонстрационное видео здесь. Откомпилированная под AutoCAD 2016 версия проекта тут.