Главная страница
    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.037 c
3-1127652661
MakedoneZ
2005-09-25 16:51
2005.11.06
Мобильность программы с исп. MSAccess


9-1112703539
qwe
2005-04-05 16:18
2005.11.06
Glscene скорость работы приложения


1-1129160464
stef
2005-10-13 03:41
2005.11.06
Не получается создать список объектов


3-1127233408
Galiaf
2005-09-20 20:23
2005.11.06
Поиск в столбце Name.


3-1127462400
agp200431
2005-09-23 12:00
2005.11.06
Правильно ли я делаю что базу IB 6.0 бекаплю а потом разархивирую





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский