![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EOleSysError "Class not registered"
Aldor_ © (2004-08-06 13:47:00)Программа под WinXP работает нормально, а под Win2K вылетает сабж. Подозрвеваю (нет возможности проверить точнее), что ошибка происходит на строке
CreateComObject(CLASS_EnumInstalledApps) as IEnumInstalledApps(строка из модуля, ковертнутого из IDL-файла)
Хотя в справке сказано, что поддерживаются винды 98-XP. Или тогда о чем сигнализирует сабж?
Aldor_ (2004-08-06 15:45:00) [21]
> вот теперь открывай этот ключ в ХР и смотри, куда смотрит
> параметр InProcServer
В {<CLSID>}\InProcServer32 параметр (Default) имеет значение System32\appwiz.cpl
VMcL (2004-08-06 15:42:00) [22]>> Digitman © (06.08.04 15:38) [11]
<offtopic>
Пошаговый саппорт :))
</offtopic>
Digitman (2004-08-06 15:38:00) [23]вот теперь открывай этот ключ в ХР и смотри, куда смотрит параметр InProcServer
Aldor_ (2004-08-06 15:34:00) [24]
> )) ... да это к примеру я ! ... посчитал что библиотека
> с ФК - твоей разработки ..
:))))))) а я еще удивлялся, какое название библиотеки странное :)
> открой XXX_TLB.PAS, найди строчку, определяющую зн-е ид-ра
> CLASS_EnumInstalledApps, скопируй в буфер его значение (т.е.
> CLSID) и поищи его в реестре
На машине с WinXP, естественно, нашел, а вот на той, где Win2K - нет. Хотя, еще раз повторяю, в msdn написано, что поддержка этих интерфейсов начинается еще с Win98
Digitman (2004-08-06 15:24:00) [25]
> Aldor_ (06.08.04 15:19) [8]
)) ... да это к примеру я ! ... посчитал что библиотека с ФК - твоей разработки ..
ок
открой XXX_TLB.PAS, найди строчку, определяющую зн-е ид-ра CLASS_EnumInstalledApps, скопируй в буфер его значение (т.е. CLSID) и поищи его в реестре
Aldor_ (2004-08-06 15:19:00) [26]> Это что за класс то ? В MSDN про него ничего нет.
Вообще-то странно, в msdn хорошо описана работа со списком установленных программ, и дается ссылка на idl-файл, где все соответствующие интерфейсы определены.
Импортнул я этот idl-файл (shappmgrp.idl), а там интерфейсы с другими названиями (вот IEnumInstalledApps, например) и другими методами (хотя все очень похоже), пришлось по названиям методов догадываться, что вызывать.
Вот такая вот фигня в синагоге творится. Была идея, что я наткнулся на старую информациб в msdn, но о новых интерфейс, как Вы тоже смогли убедиться тоже ничего в msdn неизвестно.
Digitman © (06.08.04 14:47) [5]
> выполни ком.строку regsvr32 myfabric.dll
LoadLibrary("myfabric.dll") failed - The specified module counld not be found
Erik1 (2004-08-06 15:13:00) [27]Возможно чтото самопальное.
Гаврила (2004-08-06 15:07:00) [28]Это что за класс то ? В MSDN про него ничего нет.
Свой собственный чтоли ?
Digitman (2004-08-06 14:47:00) [29]выполни ком.строку
regsvr32 myfabric.dll
Aldor_ (2004-08-06 14:44:00) [30]Digitman © (06.08.04 14:20) [3]
Извиняюсь за явно дилетантский вопрос, но как в этом убедиться? И если окажется, что не зарегистрен, то как зарегистрить?
Digitman (2004-08-06 14:20:00) [31]ерунда полная
убедись что ФК действительно зарегистрирована в реестре
Aldor_ (2004-08-06 14:17:00) [32]Digitman © (06.08.04 13:50) [1]
Значть дело именно в ОСи ничего здесь поделать нельзя
Digitman (2004-08-06 13:50:00) [33]
> о чем сигнализирует сабж?
о том что фабрика класса CLASS_EnumInstalledApps не зарегистрирована в реестре той ОС, в среде которой предпринимается попытка создать экз-р этого класса