Создание COM-сервера

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Создание COM-сервера

Сообщение marvan » 19.10.2004 (Вт) 13:04

Возможно путаю терминологию. Сейчас есть программа "MyApp". Нужно сделать так, чтобы к ней можно было бы обратиться из другого приложения так же как это можно сделать например с Excell. т.е. типа:
Код: Выделить всё
Dim XlsApp As Excel.Application
Set XlsApp = CreateObject("Excel.Application")
XlsApp.EnableEvents = True

Вот и вопрос что надо сделать такое с моей программой, чтобы с ней можно было бы работать так же.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 19.10.2004 (Вт) 13:06

Смени тип проекта на ActiveX EXE и RTFM, RTFM, RTFM... Ибо написание СОМ-серверов на VB - занятие, скажем так... Я даже не знаю, как это сказать :)

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 19.10.2004 (Вт) 17:35

Спасибо за совет. С ActiveX EXE всё получилось, и даже легче чем пугали.
С VB работает, а будет ли работать такой ActiveX.EXE c дельфями и.т.п.?

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

Сообщение Sebas » 19.10.2004 (Вт) 17:46

всё зависит от определённых тобой интерфейсов, PropertyBag паскали врядли поймут)))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.10.2004 (Вт) 17:48

Будет.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.10.2004 (Вт) 17:51

Делфи обязан понять любой определённый в VB интервейс, потому что заявлен как COM-совместимый язык. По моему опыту, это так и есть, т.е. никаких проблем со стыковкой быть не должно. Хоть там PropertyBag, хоть что.
Изображение

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 20.10.2004 (Ср) 10:40

С дельфи заработало.
А как узнать что моё приложение было открыто при создании объекта в другой программе, чтобы запретить его закрытие, пока вызвавшая его программа работает?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 20.10.2004 (Ср) 10:43

см. свойство Initialize в своем главном классе

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 20.10.2004 (Ср) 10:46

Гы. А вот это уже не твоя забота, а DCOM. Можешь этми себе голову не забивать... Более того, DCOM-сервер - чуть ли не единственный легальный способ реализации многопоточности в VB. Ставишь в свойствах проекта опшн Thread per Object и наслаждаешься, пока все не рухнет :)


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: SemrushBot и гости: 7

    TopList  
cron