|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
27.10.2021, 05:30 | #1 | |
Код функции DllRegisterServer в проекте библиотеки DLL на VB
Регистрация: 14.12.2008
Сообщений: 1,079
|
||
Просмотров: 3810
|
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.12.2008
Сообщений: 1,079
|
Нашел что библиотеки COM DLL надо регистрировать с помощью программы RegAsm.exe
Цитата:
Цитата:
Однако в Tools->References моя библиотека не видна. И если вручную попробовать её задать, то пишет что не может зарегистрировать данную DLL |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Это значит "здравствуй, гугел"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.12.2008
Сообщений: 1,079
|
Удалось зарегистрировать библиотеку со следующим кодом:
Код:
Для этого 1) создал проект типа "C# динамическая библиотека DLL" (точно не помню) 2) включил опцию "Зарегистрировать для взаимодействия COM" в ветке "СБОРКА" окна "Свойства" 3) может ещё что-то включил (не помню) Но ни одного метода этой библиотеки в окне "Object Browser" Excel не видно Хотя должна быть видна функция "Сумма" (смотрите код выше) И компилятор выдал предупреждение: Цитата:
Код:
|
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
наивный, это же COM
https://docs.microsoft.com/ru-ru/dot...mple-com-class |
|||
|
||||
Регистрация: 14.12.2008
Сообщений: 1,079
|
Изменил код в сборке на следующий:
Код:
Теперь в окне "Object Browser" Excel стал виден класс clСумма. Это замечательно, спасибо trir! Однако метод Сумма в окне не виден. Что надо сделать чтобы метод Сумма стал виден и доступен в Excel? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Возможно, сделать класс статическим со всеми вытекающими.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 14.12.2008
Сообщений: 1,079
|
В справке: https://docs.microsoft.com/ru-ru/dot...mple-com-class
Написано: Цитата:
Согласно тексту справки надо объявить метод Сумма в разделе интерфейса класса Что-то типа: Код:
Но библиотека не компилируется из-за ошибок: Цитата:
Цитата:
|
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
|
|||
|
||||
Регистрация: 14.12.2008
Сообщений: 1,079
|
Спасибо trir! Все заработало!
Код:
И такая програмка в Excel: Код:
Теперь можно писать библиотеку для VBA на языке C# Почему только библиотека называется: "C:\Users\user\source\repos\ClassLibrary7\ClassLibrary7\bin\Debug\ClassLibrary7.tlb"? Почему у файла библиотеки расширение tlb вместо dll? |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
не вместо, а дополнительно
tlb это библиотека типов, там описание типов для COM https://docs.microsoft.com/ru-ru/pre...20c3(v=vs.100) кстати [DispId(1)] возможно писать не обязательно |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать масштабирование с предпросмотром (как в дефолтной функции автокада) | valerik88 | LISP | 24 | 24.07.2016 20:52 |
Функции формы элемента. Обясните пожалуйста | Nursul85 | Расчетные программы | 4 | 23.11.2015 09:12 |
Autolisp многократный запуск функции | protorgovec | LISP | 3 | 14.09.2015 08:31 |
Интеллектуальные средства для электронной библиотеки | Сергей Ружинский | Прочее. Программное обеспечение | 8 | 03.12.2013 17:22 |
Странности функции rtos | FWA | Программирование | 2 | 16.02.2005 11:37 |