Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

EOleSysError "Class not registered"


Страницы:   1 2

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 не зарегистрирована в реестре той ОС, в среде которой предпринимается попытка создать экз-р этого класса


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо