Страница: 1 | 2 | 3 |
|
Вопрос: COM компонента под Office
|
Добавлено: 04.07.05 16:43
|
|
Номер ответа: 34 Автор ответа: Dogmatic
Вопросов: 1 Ответов: 21
|
Профиль | | #34
|
Добавлено: 08.07.05 15:09
|
Так, WaX видимо я от тебя еще не отстал. Я хочу перенести это на другую машину. То, что оно без FrameWork-a не работает, это я уже понял. Однако, даже с фреймворком, у меня не получается регистрировать сомпоненту на машине. Сам тайплиб естесственно виден с Access-а, однако при попытке использовать какой-либо метод, что 2000-ый что 2003-й выдают ошибки. По номерам разные, по сути одни, типа не вижу объекта. Пробовал регить RegAsm-ом, он говрит что все саксессфул, даже если попросить .tlb создает, однако легче от этого не становится, все тоже самое.
Единственный вариант, который я пока нашел, это просто заставлять .Net Studio делать Setup. Тогда сразу после установки на другой машине, все готово к употреблению, остается только использовать. Видимо он сам регистрирует все как надо. Однако, надо уметь это делать вручную, так как не факт, что распростроняться это будет в виде дистрибутива. Может проще сделать будет copy файл, а дальше ком. строка. И все это на сотню машин в автономном режиме. Таким образом мне ОЧЕНЬ нужно узнать как оно регистрируется, сейчас копаюсь в сетапе, но пока безуспешно. Был бы рад твоей помощи.
Ответить
|
Номер ответа: 36 Автор ответа: Dogmatic
Вопросов: 1 Ответов: 21
|
Профиль | | #36
|
Добавлено: 08.07.05 17:06
|
Так попробовал на той же машине следующие действия:
1. Создаешь новый проект Class library
2. Открываешь Class1.vb все оттуда стираешь
3. Тупо копируешь весь код туда тут я пробовал менять Guid строчки, пробовал и оставлять те, что были
4. Правой кнопкой кликаешь на Class1.vb в Solution Explorer'e меняешь filename на ComClass2 Именно 2, так как я пытался создать новый ком, без галки Интеропа
5. Кликаешь правой кнопкой на имени проекта выбираешь properties ставишь Assembly тьфу ComClass2
6. Это действие пропускаю
7. Жмешь ОК
8. Давишь Build
9. Открываешь Acces или Word или Excel или Corel или Visio ...
10. Давишь Alt-F11
11. В меню ищешь Tools-References
12. В списке ищешь ComClass2
13. Ставишь на нем галку
14. Открываешь Object Browser
15. Ищешь там свой класс и проверяешь доступные методы.
Естесственно просто так ничего не получилось.
Далее перед шагами 9-15 попробовал такое:
TlbExp ComClass2f.dll /out: ComClass2f.tlb
RegAsm ComClass2f.dll /codebase
RegAsm ComClass2f.dll /tlb: ComClass2f.tlb /codebase
в разных комбинациях
Оно вроде регистрируется, во всяком случае пишет об этом, предупреждает, что с коднамем, оно будет доступно всем. А дальше, когда я делаю шаги 9-15, точнее 15 происходит следующее:
Private Sub Button0_Click()
 im avrrrr As New ComClass2.ComClass2
avrrrr.Drawwww
End Sub
При нажатии кнопки ссылающейся на это:
Run-time error '-2147024713(800700b7)':
Automation error
Невозможно создать файл, так как он уже существует
Вот я и пытаюсь вчухать в чем дело....
Ответить
|
Страница: 1 | 2 | 3 |
Поиск по форуму