Archive for 'Программирование'

Сломался просмотр данных в VS2019+FW4.8

В последней VS2019 (16.2.5), после установки .NET FW4.8, перестал работать просмотр данных таблиц через наш ADO.NET провайдер. Server Explorer -> любая таблица -> контекстное меню -> загрузить данные -> пустое окно. До установки FW4.8 (на FW4.7.2) проблем не было. Это плохая новость. Хорошая новость — через стандартный провайдер (System.Data.OleDb) просмотр данных тоже перестал работать. Нужно […]

Interlocked функции для Int64 и WinXP

В детстве меня покусал Джеф Рихтер, поэтому я свято верил в то, что Interlocked-функции экспортируются системной DLL-ю. В сгенерированный машинный код для вызова этих функций я не заглядывал. Как следствие, я считал что версии для 64-битных чисел на старой WinXP не поддерживаются и использовать их нельзя… Этому способствовало и описание этих функций. Например, InterlockedExchange64: Minimum […]

Проклятый Intellisense

В процессе реорганизации кода получил 4 ошибки компиляции: Ошибка C2065 ibp_task_controller_state__cancelled: необъявленный идентификатор Ну, думаю, приплыли. Смотрю первый случай:

Вести с полей

Выложены обновления IBProvider v5.5.1 и «LCPI OLE DB Services» v1.9. Предмет гордости — «LCPI OLE DB Services» собирается с нулевым количеством предупреждений 4-го уровня. Четвертого, Карл! Аналогичный подвиг в отношении IBProvider не осилил. Нужно будет думать. Зато изничтожил все предупреждения третьего уровня. Из «интересностей» — устранение предупреждений в коде вида: Заменил 0 на structure::zero — […]

VS2019 (C++) и Windows XP SP2

Некоторые виды проверок IBProvider осуществляются на виртуальной машине с древней Windows XP SP2. Ставлю я туда сборки vc12xp (VS2013, XP Mode). А сегодня что-то в голове щелкнуло и решил попробовать туда поставить сборки vc16 (VS2019). Работают! Я так удивился, что тут же попробовал туда поставить сборки vc15 (VS2017) — не работают. Вылазит ошибка, связанная с […]

Хорошее чтиво

На хабре появилась хорошая статья «Как я чуть было не разбил самолёт стоимостью в £50 миллионов и нормализация девиантности«. Есть над чем задуматься.

Вести с полей

Начало недели весьма «удачное». Утром обновил исходники EFCore и обнаружил что они опять сломали мой код. А я планировал его сегодня немного сдвинуть вперед… По этому поводу вспомнилась классика:

Win10 1709 vs Win10 1809

Вчера, в международный день дурака, я нажал «проверить обновления» и моя Win10 1709 (пропатченная в марте 2019 года) обновилась до сборки 1809 (2019-3). Потом на неё накатилось еще одно обновление, потребовавшее перезагрузку компьютера. За ночь пробежали нагрузочные тесты и теперь можно «оценить» последствия обновления. Было: Стало: KERNEL-time почти на два часа увеличился. С «06:09:26» до […]

IBProvider build 31154

Выполнена реорганизация кода. Суть реорганизации — перемещение плюсовых конструкций в общее пространство имен (ibp). До этого код был сгруппирован в несколько независимых глобальных пространств. Я даже вспомнил причину по которой появился этот небольшой бардак с пространств имен — компилятор от BCB5, на котором велась разработка до 2008 года, хреново обрабатывал вложенные namespace. Поэтому приходилось извращаться. […]

Правила разработки программного обеспечения

Обнаружил у себя в книжном шкафу сабжевую книжку. Не помню когда я её купил. Перечитал по диагонали. Нашел внутри чек — июль 2007-го. Автор — мужик, руководивший разработкой Visual C++ 1.0. Описаны три стадии разработки (коробочного) ПО — начало, процесс, выпуск. Тезисы Правила 12. Выпускайте обновления (новые версии) так часто, как только это возможно. 17. […]

« Older Entries