Создание внешних компонент
06.06.2006
12:18
#1
Доброго времени суток!
Может кто-нибудь поделиться ссылкой на хорошее описание по созданию
внешних компонент, желательно на С++ (без .NET)
К примерам на ИТС просьба не отправлять - слишком много пива и времени надо
что бы полностью разобраться
Может кто-нибудь поделиться ссылкой на хорошее описание по созданию
внешних компонент, желательно на С++ (без .NET)
К примерам на ИТС просьба не отправлять - слишком много пива и времени надо
что бы полностью разобраться
06.06.2006
12:29
#3
Я не прошу совета... Пример на ИТС на мой взгляд не очень
хороший, да и мне без оле нужно. Вот хотелось бы узнать, может
кто-нибудь поделиться хорошим линком.
хороший, да и мне без оле нужно. Вот хотелось бы узнать, может
кто-нибудь поделиться хорошим линком.
07.06.2006
14:49
#4
Можно посмотреть: . Но для создания стандартной внешней компоненты 1С без OLE не обойтись.
07.06.2006
18:41
#5
Благодарствую.
но тама я был. А компонента и OLE никак
не взаимосвязаны. Компонента это COM объект, а его хоть на
ассемблере пиши.
Я день разбирался и как их писать стало понятно, но вот теперь не
хотит IInitDone находить в длл, даже не пытается вызвать DllGetClassObject.
А так вроде нет ничего необычного, хотя построение той же системы
плагинов имеет более удобные реализации.
но тама я был. А компонента и OLE никак
не взаимосвязаны. Компонента это COM объект, а его хоть на
ассемблере пиши.
Я день разбирался и как их писать стало понятно, но вот теперь не
хотит IInitDone находить в длл, даже не пытается вызвать DllGetClassObject.
А так вроде нет ничего необычного, хотя построение той же системы
плагинов имеет более удобные реализации.
07.06.2006
21:14
#6
Скорее всего компонента не может зарегистрироваться в DllRegisterServer.
К томуже, если пишешь внешние компоненты только для 7.7 в VC++, то можно использовать библиотеки 1С (тогда открываются гораздо большие возможности, и работает быстрее).
К томуже, если пишешь внешние компоненты только для 7.7 в VC++, то можно использовать библиотеки 1С (тогда открываются гораздо большие возможности, и работает быстрее).
08.06.2006
05:04
#7
Нет, DllRegisterServer вызывается и регистрируется, от туда я в реестр
CLSID записываю, по крайней мере в HKEY_CLASSES_ROOT\AddIn.my_name
(в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\ оно то же прописывается)
Это видно и по занесению данных в реестр и по лог файлу.
Если не регистрировать, то будет писать об отсутствии CLSID.
Вот и думаю почему не хотит IInitDone находиться, даже не патается.
CLSID записываю, по крайней мере в HKEY_CLASSES_ROOT\AddIn.my_name
(в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\ оно то же прописывается)
Это видно и по занесению данных в реестр и по лог файлу.
Если не регистрировать, то будет писать об отсутствии CLSID.
Вот и думаю почему не хотит IInitDone находиться, даже не патается.
Читают тему
(гостей: 1)