Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

ProgIdToClassID ()   Найти похожие ветки 

 
kblc ©   (2005-10-15 16:25) [0]

Уважаемые мастера, подскажите мне пожалуйста, почему такое возможно:
 ClassIdToProgID(Class_Server) возвращает App.Server, а
 ProgIDToClassID("App.Server") возвращает EOleException ("Недопустимая строка с указанием класса") (!!!!)
 Как такое вообще возможно? (Эта штука у меня случилась на другом компе, т.е. не на том где ведётся разработка)

 П.С. Вот код:

 try
   CoInitialize(nil);
   MainServer:=CreateComObject(ProgIdTpClassID("App.Server")) AS IAppServer;
   ...
 except
   on E: exception do
   ...
 end;
...


 
kblc ©   (2005-10-15 23:17) [1]

Уважаемые мастера, неужели никто не знает в чём тут дело?


 
DrPass ©   (2005-10-16 02:22) [2]

Думаю, дело в том, что
HRESULT CLSIDFromProgID(
 LPCOLESTR lpszProgID,
 LPCLSID pclsid
);
вроде как принимает ProgID в виде обычной строки, а
function ProgIDToClassID(const ProgID: string): TGUID;
begin
 OleCheck(CLSIDFromProgID(PWideChar(WideString(ProgID)), Result));
end;
почему-то пытается подсунуть ей юникод


 
kblc ©   (2005-10-16 10:42) [3]

но разве делфи сама не передаёт WideString когда я делаю так: ProgIDToClassID("App.Server")?
 Я совсем уже сбился с ног... такого ведь в принципе не должно быть?


 
Lamer@fools.ua ©   (2005-10-16 12:26) [4]

>>DrPass ©   (16.10.05 02:22) [2]

typedef WCHAR OLECHAR;
typedef /* [string] */ OLECHAR *LPOLESTR;
typedef /* [string] */ const OLECHAR *LPCOLESTR;


 
DiamondShark ©   (2005-10-16 14:10) [5]

Криво зарегемтрирован класс


 
kblc ©   (2005-10-16 14:19) [6]

regsrv32.exe App.Serev.dll
Как он может быть Криво зарегестрирован?
Можно об этом попордробнее?
И ещё тогда такой вопрос:  Как регистрируется класс, кроме как записью в реестре? (HKCR\CLSID\{GUID})


 
kblc ©   (2005-10-16 17:25) [7]

Неужели никто не подскажет?


 
DrPass ©   (2005-10-16 17:46) [8]


> Lamer@fools.ua ©   (16.10.05 12:26) [4]

А в каком хедере оно описано? Я так и не нашел


 
Lamer@fools.ua ©   (2005-10-16 18:15) [9]

WTypes.h

Кстати, я обманул. Там условие ещё стоит:
#if defined(_WIN32) && !defined(OLE2ANSI)


 
kblc ©   (2005-10-16 19:54) [10]

кхм... а мне то что-нибудь подскажете?


 
kblc ©   (2005-10-16 22:34) [11]

> DiamondShark ©   (16.10.05 14:10) [5]
Так как мне его "правильно" зарегестрировать?


 
DiamondShark ©   (2005-10-16 23:17) [12]


>   Как регистрируется класс, кроме как записью в реестре?
>  (HKCR\CLSID\{GUID})

Ещё записью
HKCR\<ProgID>\CLSID



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.028 c
6-1121587327
Gamer
2005-07-17 12:02
2005.11.06
Много скриншотов


3-1126600505
Monk
2005-09-13 12:35
2005.11.06
Получение индекса поля DBLookupListBox под курсором мыши


14-1129345447
Brother
2005-10-15 07:04
2005.11.06
На тему эмуляторов и пр.


2-1128957774
Tonich
2005-10-10 19:22
2005.11.06
IdFTPServer


1-1129296155
Sysanin
2005-10-14 17:22
2005.11.06
Проигрывание звука из DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский