|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Регистрация COM-DLL
Добрых суток.
Собственно система Win 8.1х64. Delphi 10.3 Создаем простейший COM в DLL с одним интерфейсом, в котором единственная функция. регистрируем при помощи regsvr32. Сообщает что все ок, сервер зареген. Пытаюсь из программы получить доступ к этому серверу, в ответ прилетает - Класс не зарегистрирован, ClassID: Такой-то. Сканирую реестр, класс там присутствует, путь к файлу тоже и в root и в current_user. Из этой же проги доступ к другим серверам есть. Но, правда, написанных ранее на D2007. Вот хз. Все время создавал эти COM-объекты и ни разу такого не попадалось мне. Я переезжаю с D2007 на D10.3. проблему со строками вроде понимаю и решил и да и не должна она отражаться на данной проблеме никак. Есть соображения, что проверить, где копать? UPD: проверил на WIN7x64 все ок. На Win 8.1х64 все так же плохо. Что не так? UPD2: Разобрался. По всей видимости глюк был в процессе регистрации класса, после перерегистрации (unregister/register) больше не повторялся. Встает вопрос - как такое могло случиться? Ведь и GUID класса и путь к DLL, содержащей COM-объект, были прописаны в реестре. Я специально переносил DLL в другую папку и регил заново. В реестре менялся путь к ней. Последний раз редактировалось sdsfy, 06.05.2021 в 16:17. |
#2
|
|||
|
|||
Может скажу не в тему но примерно такая проблема была WinXP x64, вроде как из за того что в Windows есть разные версии regsrv32 одна по моему в папке system32, а другая WOW64 или что то в этом роде и в результате нормально регистрация проходила при использовании из второй папки причем по умолчанию использовалась не она и регистрация вроде как проходила но ничего не работало
|