Здравствуйте, ilnar, Вы писали:
I>что касается хотелось бы поработать — поздно взялись, опыт этот вам не понадобится, имхо
Как раз очень полезный опыт, учит как дробить систему на компоненты, как их повторно использовать, учит как обеспечивать взаимодействие компонентов, приучает выделять интерфейсы и обращаться к ним, зная только имя (то есть GUID). И этот опыт прекрасно потом используется, даже если работаешь в проекте, где таких слов даже близко нет. Освоив COM, на технологии, которые пришли следом переходишь прекрасно и без проблем, все концепции понимаешь автоматом. Еще (если ты не китаец, и тебе лениво постоянно проверять HRESULT путем копипаста одного и того же кода, как делают очень многие) у тебя будет стимул подумать, как писать поэлегантнее, как всю низкоуровневую логику поместить в одно место, работая только через более высокоуровневые библиотеки. Умение избегать циклических ссылок тоже поможет. Из COM много чего можно вынести того, что реально нужно на работе, даже если с COM потом никогда не будешь сталкиваться.
Здравствуйте, Dsmover, Вы писали:
D>В принципе на заводе (куда мы внедряем наше ПО) стоят разные компьютеры. Почти везде Вынь2000, но хотелось мне бы ориентироваться и на Windows XP
boxedapp умеет эмулировать реестр (можно создать нужные "ключи" и COM-объекты будут создаваться без проблем), может покажется полезным.
Здравствуйте, tonykent, Вы писали:
D>> Итак, как решить мою проблему? Были ли у кого нечто подобное в жизни и как вы решали такие траблы с упрямым начальством T>Если кто не знает — существует возможность использовать COM без регистрации в реестре. Для этого используются специальные манифесты. Registry-free COM
Здравствуйте, Dsmover, Вы писали:
D>Неужели COM так устарел уже??? Мне кажется ATL, MFC, ActiveX, COM еще будут долго жить... А дотнет тормозная ненадежная с эксепшенами хрень...
Хм, а там ты научишься читать бинарники в фаре и ловить AV просто из воздуха)
D>Правда под дотнет у меня был опыт написания программ только под Compact Framework (ужасно медленная, непригодная для жизни вещь)
Забавно. У меня есть некоторый опыт работы с CF. Довольно сложный, как для кпк, проект, в качестве БД был MS SQL CE. Ну не знаю, у меня почему-то не возникло проблем ни с тормозами, ни с другой "непригодностью", хотя было это ~4 года назад, еще 1.1 фреймворк, и не самые быстрые(по нашим временам) кпк. Такчто...
А вот как раз с комами у меня связаны исключительно неприятные воспоминания. А программеров, пишуших инсталлеры, которые сами регистрируют где-то в системе какое-то ненужное говно(нередко забывая убрать за собой при деинсталляции), я бы подвешивал за яйца на деревьях.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, TimurSPB, Вы писали:
TSP>COM он да же под виндой как то плохо прижился. А если вдруг родина прикажет портироваться под Linux/Unix ?
Да хоть под Мас. Ком — это просто набор интерфейсов. А все остальное — реестры там и тд и тп — это уже особенности какой-то определенной платформы
TSP>Начальство придерживается правильной линии.
Да вообще хорошо бы услышать мотивировку начальства от первого лица — мож там реально не в портировании дело.
Здравствуйте, Dsmover, Вы писали:
D> Доброго времени суток. Итак, я работаю в небольшой одной конторке программистом уже лет пять. Всего у нас программеров человек семь. Разрабатываем мы приложения на Delphi, Microsoft Visual c++, c# и MSSQL. В основном это системы автоматизации производства, учетные системы и т.д. D> Собственно, к моему вопросу. Наше начальство совершенно против создания компонент (COM, ActiveX). Требует чтобы разрабатываемая программа запускалась на конечном компьютере после простого копирования файлов (ведь компоненты надо регить... да еще под правами админа!). То есть, если нужны какие-то модульные приблуды — пожалуйста используйте простые dll. А мне бы очень хотелось использовать COM-технологии. Поработать с ней... D> Итак, как решить мою проблему? Были ли у кого нечто подобное в жизни и как вы решали такие траблы с упрямым начальством
Программа, которая работает после простого копирования папочки с флешки — прекрасна.
Я так понимаю, у вас СОМ нужен чтобы весь зоопарк (дельфи, с++, шарп) мог использвовать компонент, написанный в ОО стиле (на простых длл можно сделать "сишный" вариант — хендлы там и т.п., как в WinAPI). Ну так используйте .НЕТ — на сколько я знаю, дельфи его уже поддерживает.
Здравствуйте, Karamat, Вы писали:
K>Программа, которая работает после простого копирования папочки с флешки — прекрасна.
K> Ну так используйте .НЕТ — на сколько я знаю, дельфи его уже поддерживает.
Здравствуйте, Unhandled_Exception, Вы писали:
K>>Программа, которая работает после простого копирования папочки с флешки — прекрасна.
K>> Ну так используйте .НЕТ — на сколько я знаю, дельфи его уже поддерживает.
U_E>только тогда программа не будет прекрасна.
Здравствуйте, Unhandled_Exception, Вы писали:
K>>Ну фрейворк-то сейчас практически везде есть.
U_E>особенно у клиентов Dsmover-а:
U_E>http://rsdn.ru/forum/life/3451454.1.aspx
В принципе на заводе (куда мы внедряем наше ПО) стоят разные компьютеры. Почти везде Вынь2000, но хотелось мне бы ориентироваться и на Windows XP
Я к тому, что сейчас уже довольно много приложений, требующих фрейворк, даже каким-то кускам мсофиса он нужен. Поэтому вероятность его обнаружить на машине пользователя весма высока.
В крайнем случае — скачает. Процесс установки, к счастью, предельно прост. Лично я ни разу не сталкивался с жалобами на установку фреймвока. А гемороя с комами было достаточно.
Здравствуйте, Karamat, Вы писали:
K>В крайнем случае — скачает. Процесс установки, к счастью, предельно прост. Лично я ни разу не сталкивался с жалобами на установку фреймвока. А гемороя с комами было достаточно.
Ага, предложить юзеру установить фреймворк — это нормально, а вот установить свои компоненты — уже нет.
Здравствуйте, Vi2, Вы писали:
K>>В крайнем случае — скачает. Процесс установки, к счастью, предельно прост. Лично я ни разу не сталкивался с жалобами на установку фреймвока. А гемороя с комами было достаточно.
Vi2>Ага, предложить юзеру установить фреймворк — это нормально, а вот установить свои компоненты — уже нет.
Да юзеру без разницы в приципе. Но
— с большой долей вероятности фреймворк у него уже есть
— геморы с фреймворком — геморы микрософта, а не наши
— а наличие компонент — это уже наши геморы с сетапом, с версионностью и пр.
Чем меньше прога зависит от среды, в которой она живет, тем она надежнее.
Идеальный вариант — все в папке с прогой. По поводу каждого отлонения от идеала, на мой взгляд, нужно крепко задумываться, действительно ли это необходимо.
Что-то мне подсказывает, что все это можно вынести не только из кома. А например, из разработки более-менее сложного UI-я с использованием любой технологии и языков.
Здравствуйте, Karamat, Вы писали:
K>Я к тому, что сейчас уже довольно много приложений, требующих фрейворк, даже каким-то кускам мсофиса он нужен. Поэтому вероятность его обнаружить на машине пользователя весма высока.
там какой-то завод... вообще не удивлюсь если там и инета-то нету, а офис стоит 97-ой.
Здравствуйте, Karamat, Вы писали:
K>- геморы с фреймворком — геморы микрософта, а не наши
Тут ты заблуждаешься. Либо ты должен устанавливать неустановленный фреймворк, благо микрософт не препятствует. Иначе — предлагая ему установить — ты будешь выглядеть перед заказчиком дураком. Меня, например, бесило требование установить IE 6.0, а без него программа не работала. Поэтому автор был послан.
K>- а наличие компонент — это уже наши геморы с сетапом, с версионностью и пр.
Здравствуйте, Dsmover, Вы писали:
D> Доброго времени суток. Итак, я работаю в небольшой одной конторке программистом уже лет пять. Всего у нас программеров человек семь. Разрабатываем мы приложения на Delphi, Microsoft Visual c++, c# и MSSQL. В основном это системы автоматизации производства, учетные системы и т.д. D> Собственно, к моему вопросу. Наше начальство совершенно против создания компонент (COM, ActiveX). Требует чтобы разрабатываемая программа запускалась на конечном компьютере после простого копирования файлов (ведь компоненты надо регить... да еще под правами админа!). То есть, если нужны какие-то модульные приблуды — пожалуйста используйте простые dll. А мне бы очень хотелось использовать COM-технологии. Поработать с ней... D> Итак, как решить мою проблему? Были ли у кого нечто подобное в жизни и как вы решали такие траблы с упрямым начальством
Тут 100% трабла с безграмотным персоналом. Программы, инсталлируемые простым копирование — это неземной рулез со многих точек зрения.
Регистрация обоснована только тогда, когда тебе нужно встроиться в совершенно чужое приложение, а внедрять регистрируемые COM-объекты внутрь своего кода — тупизна нереальная.
А проблема с регистрациями решается совсем просто — хочется COM — лабайте свои объекты, делайте им проприетарные сишные функции-креаторы, экспортируемые из dll (в ATL для этого есть CComObject, если не ошибаюсь) и дальше юзаете свой СOM в хвост и гриву.
Здравствуйте, Vi2, Вы писали:
K>>- геморы с фреймворком — геморы микрософта, а не наши
Vi2>Тут ты заблуждаешься. Либо ты должен устанавливать неустановленный фреймворк, благо микрософт не препятствует. Иначе — предлагая ему установить — ты будешь выглядеть перед заказчиком дураком. Меня, например, бесило требование установить IE 6.0, а без него программа не работала. Поэтому автор был послан.
Это от заказчика зависит и от софта. Если работаешь с крупной организацией в такие детали никто из принимающих решения вникать не будет, да и не сможет. Просто дадут команду админам, и они все поставят. Если кто-то из технарей будет против (мне однажды попался фанат линукса) — сказать что без фрейворка все будет стоить в 1,5 раза дороже.
D> Собственно, к моему вопросу. Наше начальство совершенно против создания компонент (COM, ActiveX). Требует чтобы разрабатываемая программа запускалась на конечном компьютере после простого копирования файлов (ведь компоненты надо регить... да еще под правами админа!). То есть, если нужны какие-то модульные приблуды — пожалуйста используйте простые dll. А мне бы очень хотелось использовать COM-технологии. Поработать с ней...