Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
Я назвал ObjectArx приличной в том смысле что с ее созданием полностью изменилась технология создания приложений в среде AutoCAD. И технология эта современна. Другое дело, как это сделано, с этим я совершенно согласен.
Но разве кто-то предложил что-то лучше и качественней? Они сегодня монополисты на рынке инженерно-графических систем.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> BS
Позвольте вмешаться и высказать свое мнение, IMHO:
Насчет монополистов, извините, Вы не правы...
То что в нашем СНГовом пространстве практически полностью захватили рынок такие компании как Autodesk, это просто как подстава для инженеров, которые хотят работать с нормальными продуктами... Но в реальности есть системы лучше и качественней. А некачественные системы только и выживают засчет агрессивной рекламы.
Также насчет современности ObjectARX и иже с ним C++, MFC, COM... Как это не прискорбно (а может даже и к лучшему) все это уже постепенно уходит в историю, а на смену им идет старательно слизанный с джавы монстр .NET и его основной язык C#. Скоро ли в автокаде можно будет делать нормальные приложения (не обертки) на .NET - вот это вопрос... И вот тогда уже в большинстве своем отпадут подобные вопросы, как в заголовке этого топика :)

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> Леонид
Боюсь Вас разочаровывать, но этого не будет НИКОГДА smile Автокад не переписать по новой: подобные системы имеют больший срок жизни, чем технологии типа .Net и развиваются десятилетиями. Да и Microsoft, позиционирует .Net как платформу для корпоративных приложений, а это совсем другого рода приложения. К тому же, если бы .Net действительно делал программирование проще и надёжнее, то Microsoft давно бы завалил нас кучей высокачественых продуктов, и была бы уже у нас новая операционка, и 2005 студия не требовала бы сноса всех предыдущих версий и т.д. smile Ну да ладно, не буду флудить smile При желании, можно открыть темку: "Перспективы .Net в САПР"

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
Маленькая ремарка:
В C# приложения делать именно проще и надежнее, чем в С++, испытал на своей шкуре :)

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> Леонид
Такой вопрос: какого типа приложения и почему?

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
>Боюсь Вас разочаровывать, но этого не будет НИКОГДА smile Автокад не переписать по новой
Ну тогда я боюсь что Автокад уверенно идет на кладбище. Если Autodesk не перепишет свой продукт с белого листа и проглядит конкурента (не успеет купить или прикрыть), который сделает это за них, то боюсь, что Autodesk - быстро сдуется.
Их политика в последнее время - это скупка контор под прелогом стратегического сотрудничества. Поскольку боятся что актуальные инстументарии типа (3D-моделирования) и т.п. встанут не на их платформу в виде Акада, а на новую, появление которой уже потенциально назрело.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

Если устроить голосование, то на С# разрабатывать гораздо быстрее и надежней и приятней и... короче MFC, COM и С++ - действительно на пороге заката.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
- объектно-ориентированные
- просто потому что как и Java, C# делался изначально для объектно-ориентированного программирования, там все для этого есть и ничего лишнего.
Вообще, .NET довольно интересная штука...рекомендую.
Есть много умных книжек и спецов, которые гораздо лучше владеют этим вопросом, я лишь высказываю свое скромное мнение...

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> KonstantinM
>короче MFC, COM и С++ - действительно на пороге заката.
Почему-то у многих (не имею ввиду Вас), MFC, COM и С++ ассоциируется, как одно целое, что принципиально неверно. MFC, конечно, уже давно пора отправить на свалку. COM стал слишком сложен, его учесть предрешена.
Но С++ это совсем другое дело, даже на платформе Microsoft. Где на домашней странице Саттера прочитал следующую мысль: Microsoft инвестировала в С++ ОЧЕНЬ большие деньги и она, ни в коем случае, не собирается от него отказываться - там деньги на ветер не бросают. С++ по прежнему остается языком системного программирования (в широком понимаии) номер один (это уже с сайта мягкотелых).

> Леонид
> объектно-ориентированные
Во-во... Сейчас, в 2005 году, уже совершенно ясно, что ООП это прикольно, но не делает программирование проще, не повышает надёжность программ и не уменьшает стоимость разработки. Эйфория конца 80-х/середины 90-х давно прошла. Это всего лишь одна из возможных парадигм. Java и C# чисто объектные языки (и не надо говорить про generic) и в этом их главная проблема.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

Ну конечно С++ не выкинут. Упаси бог. И будут его поддерживать. Но десктопные приложения все же будут писать уже на С#. Как раз с появлением С# - C++ - выполняет роль инертного груза очень большой массы просто потому, что написано АХЕРНО много библиотек и бинарного кода. Но те кто смогут обойти зависимость от бинарного кода и старых библиотек типа ObjectARX, они сделают огромный рывок вперед освободившись от этого баласта.
Как пример - один студент написал прогу для разработки дизайна пластиковых окон в одного, за пол года, паралельно учась на С#. Прогу я видел (студент учился у меня), этой прогой щас пользуются в каждой конторе по окнам - коим числа не счесть. На С++ ТАКОЕ ЗАЛОБАТЬ ЭТО НА ПОРЯДОК СЛОЖНЕЕ И ДОРОЖЕ И УЩЕРБНЕЙ. Прога уже сейчас комерческая, продается - т.е. не просто поделка.
Если AutoCAD - это системное программирование с тайным смыслом... ну я не знаю... помойму это обычное десктопное приложение и не вижу НИКАКИХ причин почему нельзя сделать то же самое на С#. Та прога с окошками - в некотором смысле и представляла собой плоский акад. Т.е. были фрагменты окошек, которые так же мышкой на листе укладывались, двигались, прилеплялись, компоновались, передвигались, копировались, удалялись, можно было делать новые фрагменты окошек.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> KonstantinM
> они сделают огромный рывок вперед освободившись
> от этого баласта.
Тут дело очевидно в мировозрении: для кого-то это баласт, а для кого-то ОГРОМНЫЙ бесценный наработанный материал, которым надо лишь с умом распорядиться.
Ладно, сеть набита спорами типа: C++ vs. Net, Java vs. Net, C++ vs. Java и т.д. Спорить об этом бесполезно...

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

archimag пишет:

Сейчас, в 2005 году, уже совершенно ясно, что ООП это прикольно, но не делает программирование проще, не повышает надёжность программ и не уменьшает стоимость разработки

Это не есть факт! :)
То что вы говорите - характерно для того-же переделанного под ООП языка С  - типа новая версия, С++. Любые переделки серьезных систем всегда чреваты, что мы и имеем.
А С - язык для всех времен и народов, существует и никуда не денется. Если нужно быстродействие приложения - то он просто незаменим.
Окей, дествительно поспорить на глобальные темы приятно, но хорошего понемногу... :)

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
Вопрос тебе. Тябя взяли в Автодеск и ставят задачу определить долгосрочную политику компании в отношении AutoCAD-а. Твои действия?

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
не в плане менеджмента и продаж, а в плане развития разработки

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> KonstantinM
С точки зрения разработки я бы ориентировался на отрытые международные стандарты и не использовал бы чужие разработки типа MFC, .Net и т.д., а развивал бы свои технологии. Так, например, поступает Google. Компания уровня Autodesk не должна так зависеть от других компаний (Microsoft): это естественное требование бизнеса и сейчас нет технических причин, препятствующих этому.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
Ну это очень расплывчатый ответ. Поставлю вопрос несколько прямее. Есть старое наследие в виде ОГРОМНОГО бесценного наработанного материала именуемым Автокад и обжектАРИКС - как ты сам понимаешь и говорил - все там внутри прогнило и после N-го кол-ва попыток сменить модель - совсем "связано" и запутано.
Ну дак твои действия? Если этот балласт с болью в сердце и слезами на глазах не откинуть, то какие могут быть твои действия по дальнейшей разработке этого безобразия? Писать фантики для .NET, дописывать новую функциональность, пытаться отрефакторить старый код... помойму все это щас и пытается делать Автодеск т.к. НЕ МОЖЕТ откинуть то, что нарабатывалось десятилетием.
Отвечу на вопрос я. Я бы начал паралельную ветку с чистого листа на .NET. Кроме мегабайтных куч ОГРОМНОГО бесценного наработанного кода - есть такое понятие как успешный опыт разработки. Вот взять нужно только этот опыт и все. И формат dwg - чтоб старые чертежи открывались в новом CAD-е.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> KonstantinM
Ты можешь привести успешный пример создания приложений уровня Автокада на .Net?
Ещё учти, что Microsoft постоянно будет выпускать новые версии Framework и новые студии, которые будут несовместимы со старыми (реальный пример: 2005 студия требует предварительного удаления всех отсальных). Прежде чем ты закончишь разработку, успеет смениться несколько поколений framework-ов и выйдет несколько несовместимых между собой студий. Как ты сможешь обеспечить постояннство процесса разработки? А через пять лет, когда процесс будет близов к концу (если будет), Microsoft или ещё кто-нибудь разработает новую технологию, которая будет "гораздо лучше" всех предыдующих... Потом ты выпустишь новый продукт, но в нём будет куча багов и тебе потребуется ещё десять лет на их устранение. К этому времени, конкуренты окончательно тебя обойдут, произойдёт смена платформ, так аппаратных, так и программных и придётся искать себе какую-нибудь другую работу.
Отказ от такого количества наработанного и, в значительной степени, отлаженного кода совершенно неприемлем, как с точки зрения бизнеса, так с точки зрения развития технологии. Предметная область САПР не зависит от новейших технологий, в этом плане, Autodesk повезло - они вполне могут развивать свой бизнес не особо оглядываясь на последнее слово техники. Продукт будет продоваться если он предоставляет удобный, полезный и достаточно полный функционал, а не если он будет сделан по последнеему слову моды.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
1) Кто сказал, что VS 2005 требует удаления всех остальных? Ничего не требует... работает у меня все спокойно... 2002,2003,2005... Просто не юзай беты... Моя 2005-ая релизная с некоммерческой лицензией превосходно работает.
2) Сравнивать свое приложение с Автокадом я не берусь, но... начали его разработку под VS 2002 Framework 1.0, потом перешли на VS 2003 Framework 1.1 без траблов. Уже как неделю все без проблем перекомпиляли на VS 2005 Framework 2.0 и работает... кстати приложение к Автокаду написано на С#, через MC++ стучится до обыкновенного ObjectARX и работает под 2002-м акадом... Т.е. вся интерфейсная и расчетная часть в программном комплексе под Акад написана на .NET и работает под 2002-м и всеми следующими Акадами.
Это просто предвзятое отношение к MS. MS - контора серьезная и линия .NET взята на долгосрочную перспективу.
К том же паралельная ветка совсем не означает отказ от предыдущей. А вот разработка на С++ и .NET отличаются колосально по времени и стоимости.
Хотя скорее всего Автодеск сейчас может просто ждать, когда кто-нибудь что-нибудь похожее сделает и купит в рамках стратегического сотрудничества :)

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> KonstantinM
>С++ и .NET отличаются колосально по времени и стоимости.
В какую сторону и за счёт чего?

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> KonstantinM
>Кто сказал, что VS 2005 требует удаления всех остальных?
Инсталятор проверяет наличие других версий и очень просит удалить их. Нормально ставилась 2 бета.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
В какую сторону и за счёт чего?
В пользу .NET.
За счет чего... хрен его знает... Просто несмотря на то что я С++ програмер в гораздо большей степени - делать одни и те же задачи на .NET получается существенно быстрее и проще. Про пользовательский интерфейс и работу с БД вообще не говорю... все и так ясно. GDI - также на порядок мощнее.
Рефлексию и атрибуты - уже во всю проюзали. Типа навесил на поле класса объекта предметной области аттрибут и он автоматом начинает появляться в странице свойств, или привязывается к базе, или сохраняется в dwg (взял добавил поле string, привесил к нему парочку атрибутов и все это щастье автоматом сохраняется в dwg и отображается в странице свойств - не надо писать DwgIn DwgOut и прочий код в пользовательском интерфейсе).
И просто по общим ощущениям разрабатывать на C# гораздо приятней чем на С++, несмотря на то, что на С++ я писал больше семи лет, а на С# только чуть больше года.
Может быть я особенный и другим гораздо легче разрабатывать на С++ чем на C#...

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> archimag
Ну не просила у меня удаления других версий VS 2005. Просто терпел и ждал пока сделают релиз, Бету не ставил. Все проинсталялось и заработало...
Если писать приложения под Акад на ObjectARX, конечно .NET там не нужна. Но совсем не потому что .NET это плохо и зависимо от MS и т.п. ...

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

И опять же от ответа на мой вопрос ты ушел... в сторону того что можно не оглядываться на другие технологии и т.п.
Повторяю вопрос - что бы ты сделал в долгосрочном отношении с кучей устаревшего отлаженного кода писаного 10 лет (который тебе самому не нравится) с условием, что отказываться от него нельзя (к тому же ты солидарен с этой позицией)?
:) Не воспринимай это как наезд. Просто поставь себя в ситуацию с набором условий. Считай что это тренинг. Я свой ответ дал. Ты с моей позицией не согласен и мне очень интересно что бы сделал ты при условии что от кода отказываться нельзя?

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

> KonstantinM
Хе... Моя любимая тема, в свободное от работы время smile
>Про пользовательский интерфейс и работу с БД
>вообще не говорю...
А зря smile Скорей всего, бибилотеки для GUI, которые вы использовали в С++ были не очень хороши (например MFC - самый большой кошмар в моей жизни). А для работы с базами у Вас вообще ничего толкового не было: MFC предлагает для ODBC какую-то хрень, нормально работать с шаблонами OLE DB с помощью ATL невозможно, а в ADO убивает необходимость правильного приведения из VARIANT, что приводит к жуткому раздуванию тупого кода. Тут дело не в языке. Проблема решается использование "хороших" библиотек, коих полно, но они не входят в поставку студии и не описаны в MSDN smile
>GDI - также на порядок мощнее.
Как так? GDI/GDI+ часть операционной системой.
>Рефлексию и атрибуты - уже во всю проюзали.
Это вообще в С++ элементарно разруливается. Может, требуется чуть больше усилий, но зато куда больший контроль и гибкость. Например, boost::serialization. У меня есть небольшая библиотечка для работы БД. Потратил на неё пару дней. Использует шаблоны и списки типов для описания структуры БД в чисто декларативном стиле. После описания необходимой части БД, работа с ней становится элементарной, типобезопасной и приятной.
Думаю проблема в том, что Вы игнорируете современное состояние С++. Так, в рекламных проспектах Microsoft любят привести какой-нибудь жуткий код, якобы на С++ (а на самом деле на С, да и на том уже давно так не пишут), двадцатилетней давности и сравнивают его с современным кодом на C#, после чего делают соответствующие выводы...
>разрабатывать на C# гораздо приятней чем на С++
Что может быть приятней разработки на С++? smile
>Повторяю вопрос
Ну как что. Ведь большинство проектов, это не новые начинания, а дальнейшее развитие старых - так и дожно быть. И в этом деле накоплен хороший опыт. Нужно просто работать над архитектурой, день за днём делать её более гибкой и масштабируемой, эксперементировать с новыми подходами. Полно систем которые развиваются подобным образом десятилетиями (например, операционная системы Windows). Конечно, не зная конкретной ситуации, не будучи знакомым с кодом, трудно сказать насколько тяжела ситуация. Но вряд ли там сложилась тупиковая ситуация. А переписать всё заново, это из анекдота про русского программиста. Почему-то Microsoft до сих пор не переписала под .Net свои основные продукты. Если бы были точные гарантии, что это приведёт к положительному результату, можно было бы составить смету, а выгоды были весьма существенны, то может об этом и стоило бы думать, но ... гарантий нет, финансовые затраты не ясны, а выгоды не понятны. С точки зрения бизнеса и управления рисками, этот вариант вообще лишён смысла.

Re: Сообщения AutoCAD: "ENTERNAL ERROR: !U:\... dbobji.cpp@5619:eNotOpenForWrite" и "Error handler re-entered. Exiting now."

archimag пишет:

Про пользовательский интерфейс и работу с БД.
...
Проблема решается использование "хороших" библиотек, коих полно, но они не входят в поставку студии и не описаны в MSDN

Не порекомендуете какую-нибудь "хорошую"?