![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Имя COM сервера [D7, Win95/98, WinME, Win2k, WinXP]
kblc © (2005-09-10 09:56:00)Уважаемые мастера, помогите пожалуйста, а то я уже с ума схожу
Создаю ActiveX Library , называю этот юнит "Fantom". Создаю Com object, называю класс "Mirsud_loader". в initialization при регистрации фабрики имя ставлю 'Mirsudloader';
Почему же, ClassIDToProgID возвращает мне "FantomMirsudLoader.MirsudLoader"? (!!!) , и это строка никак не меняется, даже если я при initializetion имя поставлю '' (!!!)
Да и дело даже не в этом! Как же мне создать проект так, что бы ClassIDToProgID вернула 'Fantom.Access' ????
Гаврила (2005-09-10 23:44:00) [1]
> isasa ©
> Предложи альтернативу.
Поясню.
У нас был достаточно сложный проект - с десяток библиотек типов, которые использовали друг друга по uses и в которых было наследование интерфейсов. причем предок-интерфейс мог быть и в другой библиотеке типов.
Что получается:
В предке изменили что-то, например удалили метод.
После этого библиотека с интерфейсом-потомком просто не открываетсяв редакторе !!!
То есть по аналогии - если ты допустил синтаксическую ошибку в pas-файле, и сохранил его с ошибкой ,и закрыл - то в следующий раз он не откроется ,и тебе придется набивать его заново !!!!
альтернатива - IDL + компилятор от мелкомягких.
пишется батник - первый этап - компилируем IDL - TLB
второй этап - уже тулзой от борланда генерим по TLB pas
isasa (2005-09-10 15:58:00) [2]>кстати за такие редакторы руки отрывать на
Предложи альтернативу.
isasa (2005-09-10 15:53:00) [3]>Попробуй
>Save project as ... Fantom
Палец дрогнул :)
kblc (2005-09-10 13:59:00) [4]файл у меня называется
Fantom.tlb
Гаврила (2005-09-10 12:56:00) [5]isasa © (10.09.05 11:10) [6]
Я не про *.pas а про *.tlb
как раз имя, которое в корневом узле редактора (кстати за такие редакторы руки отрывать надо) и влияет
isasa (2005-09-10 12:32:00) [6]>По моему зависит только от tlb, от имени проекта не зависит
tlb генерируется "автоматом" Редактором библиотеки типов. Имя файла - <имя проекта>_TLB.pas.
См. Delphi help
After modifying your type library, you'll want to save and register the type library information.
Saving the type library automatically updates:
The binary type library file (.tlb extension).
The Project_TLB unit that represents its contents
The implementation code for any CoClasses that were generated by a wizard.
Гаврила (2005-09-10 12:15:00) [7]По моему зависит только от tlb, от имени проекта не зависит
isasa (2005-09-10 11:10:00) [8]Попробуй
Save project as ... Faqntom
вычисти реестр
См. View->Type Library (в корне, какое имя?)
kblc (2005-09-10 10:45:00) [9]Подскажите мне плз. как правильно создать проект, что бы я получил в итоге "Fantom.MirSud_Loader"
kblc (2005-09-10 10:44:00) [10]всё одно и тоже
kblc (2005-09-10 10:37:00) [11]нет не делал... сейчас попробую...
isasa (2005-09-10 10:27:00) [12]Проверь реестр. Возможно присутствуют предыдущие версии компонента с тем же LIBID_xxxx .
regsvr32 -u <старый компонент>
не делал?
kblc (2005-09-10 10:03:00) [13]Прошу прощения за описку:
т.е. что бы ClassIDtoProgID вернула "Fantom.Mirsud_loader"