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

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

Имя 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"


Наверх

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