Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Как на VB.Net написать dll и вызвать ее из Access? Добавлено: 16.07.10 14:32  

Автор вопроса:  Jak | Web-сайт: musautomat.ru | ICQ: 340809754 
Задача: Написать dll формирующую отчеты Crystal Reports и вызывать её из VB.Net проекта и из MS Access.

Что сделал:
На vb.net написал COM класс, скомпилировал, зарегистрировал regasm'ом, в аccess'е сделал ссылку на библиотеку. всё хорошо вызывается, отчеты формируются.

Проблемы начинаются когда пытаюсь раздать dll пользователям ms access. На их машинах регистрирую dll'ку. Она успешно регистрируется, но при попытке создать на VBA в экземпляр класса вылетает с исключением вне зависимости от того установлен на этой машине проект или нет.

Runtime error '-2147024894 (80070002)'
Automation error
Не удается найти указаннный файл.


Из VB.Net проекта у пользователей всё работает и формируется.

Думаю, что это связано с тем, что моя dll ссылается на другие dll, которых нет у пользователей или она ищет их не там где надо.
В папке с публикацией VB.Net нашел crystalreports10_5\CRRedist2008_x86.msi. Установил. Не помогло.

Я вижу два пути решения:
1. Сделать проект установки, который бы устанавливал и регистрировал на машине пользователя мою dll и всё, что ей требуется. Не смог нигде найти примера. Расскажите по шагам как это сделать или дайте ссылку
2. Посмотреть в ссылках все dll, на которые ссылается мой com класс и зарегить их вручную. Думаю идея не очень, потомучто те dll в свою очередь ссылаются еще на что-нть и т.д..

Буду рад любому ответу: Пошаговой инструкции, ссылке на статью, идее... :)

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Сергей



ICQ: 558230345 

Вопросов: 7
Ответов: 91
 Профиль | | #1 Добавлено: 16.07.10 15:13
в какой папке сохраняешь и регистрируешь библиотеку?

Ответить

Номер ответа: 2
Автор ответа:
 Jak



ICQ: 340809754 

Вопросов: 17
Ответов: 25
 Web-сайт: musautomat.ru
 Профиль | | #2
Добавлено: 16.07.10 15:18
c:\account2\lib

c:\account2\ - папка access проекта (ade)
в подпапку lib планирую кидать dll'ки

Ответить

Номер ответа: 3
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #3 Добавлено: 16.07.10 17:12
Сложно сказать, не пробовал FileMon'ом посмотреть какой файл он пытается найти?

Ответить

Номер ответа: 4
Автор ответа:
 Jak



ICQ: 340809754 

Вопросов: 17
Ответов: 25
 Web-сайт: musautomat.ru
 Профиль | | #4
Добавлено: 26.07.10 16:42
Cделал Setup Project в Solution на NET.
После его запуска он сам регистрирует мой COM объект и устанавливает всё зависимости.
Всё работает!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам