Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужен ли здесь COM?  (Прочитано 8780 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« : 07-07-2004 06:57 » 

Поставлена такая задача Нужно сделать графический редактор, но таким образом, чтобы все объекты в поле редактирования были реализованы как отдельные модули в виде DLL и т д.
Может кто уже сталкивался с подобной задачей? Как грамотнее это  реализовать?
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Pu
Большой босс

ru
Offline Offline
78


« Ответ #1 : 07-07-2004 09:31 » 

USBLexus, обычно в таких случаях я редактор делал, как СОМ контейнер. А объекты в поле редактирования как ActiveX компоненты. Под задачи неуниверсальные использовал просто VB, как контейнер со стандартными и своими  ActiveX. Те я так понял стоит задача разработать средство разработки, свободно расширяемое дополнительными DLL, если так то другого средства, как СОМ не знаю.
Во всяком случае гр редакторы в известных мне SCADA системах реализованы именно так.
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
USBLexus
Опытный

ru
Offline Offline
Пол: Мужской
Кот рыжий


« Ответ #2 : 08-07-2004 02:12 » 

Да я вот незнаю стоит ли здесь использовать COM Какие есть приимущества у COMа? Может просто сделать самодельные DLL и подключать их?
Записан

#define QUESTION(b) (2*b)||(!(2*b)) (c) William Shakespeare
Pu
Большой босс

ru
Offline Offline
78


« Ответ #3 : 08-07-2004 06:26 » 

смотри сам, использование СОМ дает возможность отдать клиенту продукт с в виде контейнера и спецификации на поддерживаемые ActiveX. Те определяешь интерфейсы для точек стыковки. Но разобраться с этим реально придется. Я потратил достаточно большой промежуток времени и до сих пор не чуствую себя гуру в СОМ-технологиях хотя использую на каждом шагу.
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
lapulya
Молодой специалист

ru
Offline Offline

« Ответ #4 : 08-07-2004 09:03 » 

Если пробукт разрабатывается на с++ и использование его или компонентов на VB не планируется то COM абсолютно не нужен (если не сказать больше :twisted: ), просто пиши обычные dll. Причем как заяц написал используй интерфейсы для точек стыковки.
Записан

С уважением Lapulya
Pu
Большой босс

ru
Offline Offline
78


« Ответ #5 : 08-07-2004 11:25 » new

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

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
lapulya
Молодой специалист

ru
Offline Offline

« Ответ #6 : 08-07-2004 13:34 » 

Цитата
Да я вот незнаю стоит ли здесь использовать COM Какие есть приимущества у COMа? Может просто сделать самодельные DLL и подключать их?
Вот из этой фразы автора я в общемто могу сделать (и собственно сделал) вывод что на VB модули никто нисать не собирается... Для того чтобы написать dll чистой воды VB не хватит. Поэтому я и говорил что если будет использоываться только с++ (не дельфи... тьфу какая гадость .... ни ява - тоже гадость), то лично я бы COM не использовал
во первых медленнее
во вторых работа со строками ЭТО ГЕМОРОЙ!!!
плюс к этому лично я не люблю подсчет ссылок поэтому ябы например описал (ито если надо) IUnknown примерно так
Код:
class IMyUnknown
{
    public:
    virtual ~IMyUnknown() {}

    virtual bool queryInterface(const std::string &, void **) = 0;
};

где вместо строки передаю уникальное название интерфейса, но если не нравится можно и GUID

А вообще то я COM не люблю и использую только если есть клиенты написанные на VB или типа того (что бывает, но крайне редко)
« Последнее редактирование: 29-11-2007 21:14 от Алексей1153++ » Записан

С уважением Lapulya
Pu
Большой босс

ru
Offline Offline
78


« Ответ #7 : 08-07-2004 13:52 » 

lapulya,  согласен с тобой во всех отношениях, и СОМ так же не леплю куда попало. А токма когда нужна привязка к ms технологиям для создания расширяемых вещей без моего участия.
Записан

Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать.
(с) Артур Джонс
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines