|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
![]() |
Поиск в этой теме |
![]() |
#1 | |
Сочетание COM ATL + WPF + AutoLISP (из AutoCAD) вызывает ошибку (можно ли в лиспе прочитать его детали, и может кто с подобным встречался?)
Регистрация: 19.03.2009
Сообщений: 51
|
||
Просмотров: 2871
|
|
||||
ingénieur Регистрация: 21.07.2008
Сообщений: 767
|
offtop: анекдот: пациент на приеме у врача:
- Доктор когда я трясу руками над головой, у меня за ухом стреляет - А зачем вы тресете руками над головой? Знатокам будет легче если представите пример этого скрипта)) Если из VB нет проблем (кад его прекрасно поддерживает)... почемубы его неиспользовать |
|||
![]() |
|
||||
Регистрация: 19.03.2009
Сообщений: 51
|
Код:
Код:
Код:
Код:
Прикол в том что даже System::Windows::MessageBox::Show не вызывается. Хотя из фрагмента кода выше вызывается без никаких проблем. А это одна и та же сборка. Компилится без единого ворнинга. Последний раз редактировалось lexluther, 05.08.2009 в 11:55. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Если сборки написаны в debugmode, может, сработает установка ключа реестра
ветка: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework ключ: MDA тип: DWORD значение: 0
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.03.2009
Сообщений: 51
|
Цитата:
(vlax-invoke-method lm-object "LMExportToLM") Код на IDL а также на С++/CLI я добавил к тому сообщению. Последний раз редактировалось lexluther, 05.08.2009 в 12:29. |
|||
![]() |
|
||||
Регистрация: 19.03.2009
Сообщений: 51
|
Да, но при вызове NETAddToLM все вылетает, а Fusion Log Viewer выдает:
*** Assembly Binder Log Entry (8/5/2009 @ 12:35:42 PM) *** The operation failed. Bind result: hr = 0x80070002. The system cannot find the file specified. Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll Running under executable D:\AutoCAD 2009\acad.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = SYNAPSE\artem.vyrtosu LOG: DisplayName = LabelMark.AddIns.Common, Version=5.0.0.2338, Culture=neutral, PublicKeyToken=d1b8b51a0c1937e0 (Fully-specified) LOG: Appbase = file:///D:/AutoCAD 2009/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = NULL Calling assembly : (Unknown). === LOG: This bind starts in default load context. LOG: Using application configuration file: D:\AutoCAD 2009\acad.exe.Config LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Post-policy reference: LabelMark.AddIns.Common, Version=5.0.0.2338, Culture=neutral, PublicKeyToken=d1b8b51a0c1937e0 LOG: The same bind was seen before, and was failed with hr = 0x80070002. ERR: Unrecoverable error occurred during pre-download check (hr = 0x80070002). При этом эта сборка есть и там где ком объект, и даже в папку с автокадом ее скопировал. Это из-за вызова Brady::LabelMark::AddIns::Common::AutoCADExportAddIn:: ... |
|||
![]() |
|
||||
lexluther, если тебе не трудно, дай скомпилированный idl. Я тоже побалуюсь немного.
Как я понял, ты собираешь тексты в Автокаде и куда-то их отправляешь с помощью "ACADLMConnector.ACADLMConnectorKern"? Если не секрет, то куда? А также хочется знать, когда на VB это делал, то тоже из Автокада тексты собирал? Если да, то я знаю в чем причина твоих бед и как ее преодолеть. |
||||
![]() |
|
||||
Регистрация: 19.03.2009
Сообщений: 51
|
Всем спасибо за помощь!!
Оказалось что после запроса к КОМ объекту фреймворк ищет сборки не в папке где находится ком объект а в папке Автокада. А там их естественно нет. Значит надо подгружать вручную ![]() Но есть еще проблема. Пока что я пишу вслепую, т.е. дебагить я могу только код на лиспе а если пытаюсь дебагить нейтив код или менеджед код то почему то автокад виснет, а студия (2008) типа как бы аттачится к процессу но почемуто не реагирует на брейкпоинт. Попробовал насильно заставить аттачиться к дебагу: Debugger debugger; debugger.Launch(); debugger.Break(); Но та же ситуация. Он вызывает окно запроса дебаггера но опять никак не хочет на брейкпоинте останавливаться. И вообще студию игнорирует, только показывает что типа к процессу зааттачился но больше толку никакого. Кто то научился дебаггить нейтив и менеджед код который вызывается под автокадом из удаленного ком объекта в студии? Последний раз редактировалось lexluther, 06.08.2009 в 09:09. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |