|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Всем доброго дня ! При работе с VB6 я в референс делал ссылку на некий dll. (COM) В модуле его обьявляю публичным. Код: vbnet 1.
Как поступить здесь в VB 2010 ? Я сделал ссылку нужный мне dll, добавляю модуль и хочу его обьявить как выше, но почему-то он как бы не существует... В чем я неправ ? Не пинайте сильно, я только начал освоить. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 13:44 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Valeriu, Когда добавляешь ссылку на DLL (COM), студия генерирует враппер (интероп) т.е. .DLL (NET). Нужно добавить соотвествующий namespace через оператор Import. Тогда все классы COM будут видны в твоём классе ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 13:51 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
VSVLAD Если можно строчку для примера. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 13:56 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Valeriu, вот пример. В книжках хорошо разжёвано, читай Imports в VB или using в C#. Имена классов могут отличаться, как например тут. Оригинальное имя COM класса Connection - а то что я писал, это обёрткой сгенерировано. Для Excel и других популярных COM серверов - обёртки уже есть в .NET и они получше будут чем автогенерируемые. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 14:34 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Вроде заработал. Сделал так в модуле Код: vbnet 1. 2. 3. 4.
А вот в форме при запуске выдает ошибку Первый этап обработки исключения типа "System.NullReferenceException" в приложении WindowsApplication1.exe Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Можете обьяснить что я накуралесил ? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 16:08 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Разобрался. Только без модуля. Я в модуле обьявлял публично для всего проекта ... Нужно еще копать. Работает вот так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 16:55 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
ValeriuРазобрался Не разобрались. Ошибка в том, что вы объявляете "Public m As MSMOLE.MCommand", но не создаёте экзмемпляр класса. Или сразу с new объявить, тогда VB его автоматически создаст. Или лучше, создать перед тем как будет использоваться, например в Form_Load как сделали ниже. Ещё если импорт делаете, то указывать имя сборки "MSMOLE" не обязательно, все классы в том числе MCommand уже будут видны при объявлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 17:06 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Я почему хотел обьявить в модуле, чтоб обьект был общим для всего проекта. В VB6 это работает, а тут я сталкиваюсь с этим. Хотя я знал что NET это совсем уже другое ... VSVLAD Ошибка в том, что вы объявляете "Public m As MSMOLE.MCommand", но не создаёте экзмемпляр класса В модуле я так и не понял как это должно быть. Я пробовал NEW, но там не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 17:22 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Я должен делать при запуске формы что-то на подобие как в VB6 Код: vbnet 1.
Но это не работает. Как это заменяется по другому ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 17:28 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Понял как . Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 17:53 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
Valeriu, Можно по всякому в модуле объявлять: Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 18:36 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
VSVLAD, Спасибо большое ! Так как мне надо. Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 18:54 |
|
Как обьявить dll в модуле VB 2010.
|
|||
---|---|---|---|
#18+
ValeriuVSVLAD, Спасибо большое ! Так как мне надо. Код: vbnet 1. 2. 3. 4.
Уф... при таком способе импорт не нужен, плюс библиотеку можно отсоединить от проекта. Так как CreateObject это позднее связывание... Вообщем лучше читайте книги. Но такой способ не рекомендую, лучше через ранее связывание. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 19:33 |
|
|
start [/forum/topic.php?fid=20&msg=38058834&tid=1405565]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 481ms |
0 / 0 |