
ISL
Клуб разработчиков-
Публикаций
398 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
ISL стал победителем дня 7 мая 2012
ISL имел наиболее популярный контент!
Репутация
9 ОбычныйИнформация о ISL
-
Звание
Клуб разработчиков
Контакты
-
Сайт
http://developer.nanocad.ru
-
ICQ
0
Информация
-
Пол
Мужчина
-
Город
Москва
-
Интересы
Разработка САПР
-
Ну так это давно известно, что AutoCAD не соответствует своей собственной документации и рекомендациям по времени жизни объектов, которые живут дольше, чем должны. Но практика работы с большими приложениями, работающими под обеими платформами, показывает, что отказ от обращений к закрытым объектам повышает надёжность приложений. У нас всё просто: закрыли — значит закрыли, проблема видна сразу. В АвтоКАДе же такой код почти всегда работает, но иногда сборщик мусора приходит чуть раньше и начинаются блуждающие проблемы. Справедливо и для C++, где нет сборщика мусора, но эффект есть.
-
Взял пример SDK HelloHost, добавил в команду HelloHost_Example1 строки: Database db = HostApplicationServices.WorkingDatabase; using (Transaction tr = db.TransactionManager.StartTransaction()) { var lt = tr.GetObject(db.LayerTableId, OpenMode.ForRead) as LayerTable; } Собрал в VS2012, загрузил в 20.1 x64: Что я делаю не так?
-
Содержимое UserDataCache копируется каждому пользователю в AppData при первом старте, так что модифицированный cfg.ini попадёт куда нужно.
-
Тоже костыль, но вероятно чуть поудобней, чем удаление ссылки. Можно вместо тяжёлого файла положить одноимённый пустой и лёгкий. Главное, не забыть вернуть всё обратно.
-
Попробуйте грузить модуль из того же лиспа функцией (appload "C:\Users\XXXX\AppData\Roaming\Nanosoft\nanoCAD x64 Plus 20.1\PlaneObjects.dll"), на мой взгляд, так надёжнее и компактнее, чем разделять замену и загрузку.
-
Иконки можно вытащить при помощи редактора ресурсов Visual Studio.
-
> для отладки к проекту присоединен проект -exe, для того чтобы прогонять основной код построчно. При отладке таким .exe служит сам nanoCAD, ncad.exe. В отдельно стоящий .exe файл модули, зависящие от hostdbmgd.dll и hostmgd.dll загрузить не так просто, да и незачем. Эти модули зависят от других модулей nanoCAD-а, а если грузить их все, то и придём к ncad.exe. Самый простой способ добавить ncad.exe в решение (solution), это открыть этот файл как проект.
-
Если что-то не работает – присылайте код.
-
Режим выбора :L действительно не реализован. Поднял приоритет задачи.
-
Реальность, она всегда посложней любой модели будет. Отсутствие поддержки некоторых элементов не означает, что нет поддержки DCL. Присылайте конкретные примеры, поставим в план развития.