Здравствуйте! Уже не первый раз сталкиваюсь с интересной особенностью. У меня есть 32-х разрядная dll, написанная на delphi 7. В ней есть automation object, к которому обращается стороннее ПО периодически. Ни с того ни с сего спустя у кого месяц, у кого пару месяцев библиотека перестает отвечать на запрос. Не у всех так. У кого-то работает вполне нормально уже год-полтора. Т.е. даже создавая объект через vbs в cmd видно, что нет ошибки, но лог не пишется и никаких действий не выполняется. Лечится всё повторной регистрацией библиотеки через скрипт:
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x64 (%windir%\SysWOW64\regsvr32.exe %MY_UNLOAD_PATH%\MyUnloader.dll) Else (%windir%\System32\regsvr32.exe %MY_UNLOAD_PATH%\MyUnloader.dll)
Pause
Если библиотека ранее не была зарегистрирована, то скрипт конечно ругается. А так и не ругается и работы никакой не делает, пока повторно не зарегистрируешь. Какой-то глюк винды возможно. Может кто сталкивался с подобным поведением?