VB.Net Express и COM+

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

YMak
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 05.06.2006 (Пн) 14:37

VB.Net Express и COM+

Сообщение YMak » 05.06.2006 (Пн) 15:01

Я новичек в .Net, на днях поставил себе VB.Net Express
и попытался сделать на нем СОМ+ приложение, пока ничего не получилось.

Вопрос.
Можно ли сделать СОМ+ приложение (не dll) в Express?
Если можно, подскажите как.

И вообще чем Express отличается от полной версии.
Поискал, но пока нигде не нашел (может ссылку дадите на описание разницы).

Вообще задачка такая.
Нужно сделать небольшое приложение с интерфейсом пользователя, к которому был бы доступ из другого уже существующего приложения (передача команд и данных туда и обратно).

В этом другом приложении могу прикрутить свою DLL (на Делфи к примеру) и из нее вызывать новую прогу по СОМ. Непосредственно СОМ из старого приложения вызывать не могу.

Новая прога должна постоянно сидеть в памяти, а в старой к сожалению dll-ка будет постоянно грузиться и выгружаться, так уж оно устроено, и повлиять на старую прогу не могу.

Лучшим вариантом мне показалось использовать СОМ.
Можно конечно по TCP через сокеты, но чтото не хочется так делать.

Заранее спасибо за помощь.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 05.06.2006 (Пн) 15:07

Com visible = true для каждого класса
но без .NET framework твоя прога все-равно работать не будет

YMak
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 05.06.2006 (Пн) 14:37

Сообщение YMak » 05.06.2006 (Пн) 15:39

Без .NET framework понятно, пусть будет.

Com visible = true поставил пока ради теста для Main формы.
Сделал там Public метод.
Сделал билд и публикацию.
Но в списке COM-ов на компе прога не появилась.

Наверное еще чтото сделать нужно?
Как СОМ на компе зарегистрить?

По идее публикация делает Сетап, и если его установить, то и СОМ должен бы зарегистрироваться?

С СОМ я пока тоже больше в теории знаком :)

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 05.06.2006 (Пн) 15:52

нужно зарегестрироовать COM :roll:

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.06.2006 (Пн) 15:52

YMak
СОМ+ приложение (не dll)

Такого не бывает(
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

YMak
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 05.06.2006 (Пн) 14:37

Сообщение YMak » 05.06.2006 (Пн) 17:08

Такого не бывает

Наверное (я пока тут больше теоретик).

Но как тогда MS Word, IE и многие другие приложения?
Это экзешники, которые состоят из кучи СОМ объектов?

Я может не то делать хочу ...
Еще раз про мою задачку.

Есть старое приложение со своим языком программирования.
В нем я могу из скрипта вызвать обычную DLL (не СОМ).

Мне нужно сделать свое приложение, которое будет принимать данные от этого скрипта, обрабатывать их, хранить, выдавать результаты обработки назад.

Это приложение должно существовать отдельно и независимо от старой проги, т.е. при закрытии старой проги оно должно оставаться запущенным, его можно запустить отдельно и т.д. (т.е. чтото типа обмена данными по DDE с Excel). Я думал СОМ мне тут поможет ...

Вопрос - как можно организовать связь между этими двумя прогами?
Вторую я хотел писать на VB.Net.

Т.е. конструкция получается такая:
- с одной стороны старая прога с DLL для связи
- с другой стороны приложение на VB.Net
Как их можно связать?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 06.06.2006 (Вт) 8:41

Гм, не понял, у тя есть готовая прога, всё от неё зависит.... Причём тут НЕТ?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

YMak
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 05.06.2006 (Пн) 14:37

Сообщение YMak » 06.06.2006 (Вт) 10:07

У меня есть готовая прога не моя и ничего с ней я сделать не могу.
В ней есть свой скриптовый язык, в котором я могу вызывать свою DLL.
Мне нужно расширить ее возможности написав свою прогу,
которая выполняет довольно сложный алгоритм.

Поместить этот алгоритм в ту DLL я не могу,
прога так устроена, что она эту DLL перегружает/инициализирует примерно раз в секунду.
А для алгоритма нужно много данных, грузить и сохранять которые каждую сек. слишком накладно.

Я хотел сделать отдельную прогу на VB.Net (C забыл, Делфи так и не понял).
DLL я хотел использовать только как связку между старой и новой прогой.

Почитал вчера в книжках - СОМ может быть отдельной прогой.
Точнее может быть отдельная прога содержащая СОМ объекты с которой можно устроить обмен данными. Это называется Automation Server (новая прога) и Automation Client (DLL + старая прога).

Пока не понял как это в VB.Net сделать, но вроде нашел в хелпах чтото на тему.
Буду разбираться.

YMak
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 05.06.2006 (Пн) 14:37

Сообщение YMak » 06.06.2006 (Вт) 16:14

Нашел книжку бесплатную по программированию СОМ и VB.NET
Может кому интересно будет

COM and .NET Interoperability
http://www.apress.com/free/

Книжка интересная, но пока не очень понятная :)


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 73

    TopList