Само-созидатель проблем

Раза три на внедрениях биометрии у клиентов я сталкивался с проблемой, которую сам и породил.

Причем уже после второго раза я об этой проблеме знал, но все пытался записать себе, как ее решить, вместо того, чтобы окончательно от него избавиться.

Дело в том, что моя программа взаимодействует с двумя сканерами — старым Anviz OA99 и новым Anviz Ubio.

Для нового Ubio выпустили новую версию SDK, но размещалась она в том же файле — AvzScanner.dll

Чтобы программа могла работать с двумя сканерами, Dll для старой версии я оставил с таким же названием, а новую переименовал в AvzScannerubio.dll.

Все работало отлично.

Но потом мне понадобилось написать уже не программу (приложение), а внешнюю компоненту. Я ее писал уже изначально только для UBIO и dll-файл при компиляции в VB подключал в этом модуле:

Разумеется, под AvzScanner.dll я подразумевал уже новую версию обработки.

Но в VB используется динамическая линковка библиотек, поэтому иногда у клиента он подтягивал AvzScanner.dll со старой версией библиотеки.

Чтобы не бороться с последствиями, а окончательно решить проблему, я поменял в коде название библиотеки:

И это кардинально решило проблему.

Поэтому иногда лучше подумать о причинах, чем лечить последствия.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 2

  1. bob:

    Простая вариация проблемы известной как DLL hell, ей уже 25+ лет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *