Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / слетает регистрация dll через какое-то время / 8 сообщений из 8, страница 1 из 1
18.12.2019, 10:50
    #39904540
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
Здравствуйте! Уже не первый раз сталкиваюсь с интересной особенностью. У меня есть 32-х разрядная dll, написанная на delphi 7. В ней есть automation object, к которому обращается стороннее ПО периодически. Ни с того ни с сего спустя у кого месяц, у кого пару месяцев библиотека перестает отвечать на запрос. Не у всех так. У кого-то работает вполне нормально уже год-полтора. Т.е. даже создавая объект через vbs в cmd видно, что нет ошибки, но лог не пишется и никаких действий не выполняется. Лечится всё повторной регистрацией библиотеки через скрипт:
Код: powershell
1.
2.
3.
4.
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



Если библиотека ранее не была зарегистрирована, то скрипт конечно ругается. А так и не ругается и работы никакой не делает, пока повторно не зарегистрируешь. Какой-то глюк винды возможно. Может кто сталкивался с подобным поведением?
...
Рейтинг: 0 / 0
18.12.2019, 13:24
    #39904710
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
evgen29Может кто сталкивался с подобным поведением?

Много раз.

"Если программа не работает так как нужно, значит в ней баг." (с) мой

Не пытайся валить на винду, ищи конкретную причину "не отвечания". Пиши логи, снимай call
stack из Process Explorer. В общем, отлаживайся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.12.2019, 14:21
    #39904786
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
evgen29,

мысль: а вдруг это антивирус периодически шалит? По-тихому, просто пишет об этом в лог и блокирует ActiveX.
...
Рейтинг: 0 / 0
18.12.2019, 14:38
    #39904800
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
Кроик СемёнПо-тихому

Без ошибки при создании СОМ-объекта? Это вряд ли.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.12.2019, 15:10
    #39904841
evgen29
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
Dimitry Sibiryakov, Так в том то и дело, что лог самую первую запись делает в секции initialization модуля логов. Т.е. если даже com-объект невесть как работает с багами, то первая запись в лог все-равно должна попасть. А получается, что через какое-то кол-во месяцев даже лог перестает создаваться, хоть при создании com-объекта ошибку не выдает. Под правами администратора то же самое. И только после повторной регистрации либа начинает работать как ни в чём не бывало. Причём это не у всех пользователей, коих сто или двести по проекту. А выборочно у штук пяти такая шляпа возникала. Проект представляет из себя выгрузку данных из локальной БД пользователя по запросу из системы автоматизации. Вот я и грешил на винду или антивирус. Выгрузка произошла и библиотека выгружается из памяти, поскольку ссылок на com-объект не остаётся. Мне показалось это странным вот я и решил, что кто-то с похожим поведением уже сталкивался.
...
Рейтинг: 0 / 0
18.12.2019, 15:39
    #39904871
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
evgen29Так в том то и дело, что лог самую первую запись делает в секции initialization модуля
логов. Т.е. если даже com-объект невесть как работает с багами, то первая запись в лог
все-равно должна попасть. А получается, что через какое-то кол-во месяцев даже лог
перестает создаваться, хоть при создании com-объекта ошибку не выдает.

Значит вариантов два:
1) До инициализации не доходит.
2) Создание лога обламывается с ошибкой.

Поэтому надо ловить момент появления бага, снимать стэки вызовов, возможно даже дамп
памяти и копаться в нём.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.12.2019, 15:43
    #39904875
sql2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
evgen29,
а dll подписана?

p.s. и "куда" она пишет?
ОС может подменять путь на "нужный", виртуальный, для совместимости (хотя не этот случай, думаю)
...
Рейтинг: 0 / 0
18.12.2019, 15:50
    #39904883
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
слетает регистрация dll через какое-то время
evgen29, в реестр посмотрите, что там с регистрацией: кто-то запись удаляет или меняет на что-то левое.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / слетает регистрация dll через какое-то время / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]