Public WithEvents ACAD As AcadApplication есть ли возможность отвязаться от версии AutoCAD?
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Public WithEvents ACAD As AcadApplication есть ли возможность отвязаться от версии AutoCAD?

Public WithEvents ACAD As AcadApplication есть ли возможность отвязаться от версии AutoCAD?

Ответ
Поиск в этой теме
Непрочитано 23.08.2015, 18:22 #1
Public WithEvents ACAD As AcadApplication есть ли возможность отвязаться от версии AutoCAD?
doctorraz
 
электрик
 
Волгоград
Регистрация: 19.02.2010
Сообщений: 2,298

Собственно вопрос в шапке темы, при взаимодействии с автокад через СОМ посредством VBA&VB6 из других приложений, для того что бы отвязаться от версии автокад достаточно применить позднее связывание.
у меня возникла необходимость отслеживать события автокад, очевидный способ это реализовать через класс
Код:
[Выделить все]
Public WithEvents ACAD As AcadApplication   
Private Sub ACAD_EndCommand(ByVal CommandName As String)
     ThisDrawing.Utility.Prompt vbCrLf & "Команда " & CommandName & vbCrLf
End Sub
принцип реализации
но в этом случае позднее связывание неприменимо.
Есть ли возможность обойти данное ограничение?
В принципе необязательно делать это через события, но необходимо отловить: окончания публикации.
через событие выглядит так:
Код:
[Выделить все]
Private Sub ACAD_EndCommand(ByVal CommandName As String)
     If CommandName = "-PUBLISH" Then 
        'че то делаем
    Else
       'ниче не делаем или ниче не пишем
    End If
End Sub
как отвязаться от версии AutoCAD?
__________________
Мастерская СПДС
Просмотров: 3747
 
Непрочитано 24.08.2015, 10:04
#2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Насколько помню, чтобы привязываться к событиям акада из внешнего com-приложения - это требует регистрации вашего приложения в виде com-сервера, чтобы можно было наладить взаимодействие между ними.. во всяком случае все это гораздо проще делать из пространства самого autocad. Ну будет привязано к группе версий программы-ничего страшного, если уж полезли в события.
Сергей812 вне форума  
 
Автор темы   Непрочитано 24.08.2015, 10:22
#3
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,298
Отправить сообщение для doctorraz с помощью Skype™


Сейчас так и работает через VbaEnabler. Но чем его ставить на 30 ПК и на всех настраивать скрипт(версии Autocad разные), проще скомпилировать exe. (а если изменения, в скрипте?)
Но вот на событиях споткнулся(((
можно конечно попробовать тупо стучаться к автокад с интервалом, как ответит(освободился), значит публикация закончилась. Хотя думаю это не айс, его так можно уронить или подвесить(((
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 24.08.2015, 10:32
#4
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от doctorraz Посмотреть сообщение
Сейчас так и работает через VbaEnabler. Но чем его ставить на 30 ПК и на всех настраивать (версии Autocad разные), проще скомпилировать exe.
Что подразумеваете под настройкой VBA - скачать максимум несколько разных версий под разные акады и установить на 30 машин? По кругу друг за другом за полчаса админ управиться, это чисто механическая работа. А вот развлекаться с событиями извне - врятли всего полчаса займет)
Сергей812 вне форума  
 
Автор темы   Непрочитано 24.08.2015, 11:05
#5
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,298
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Что подразумеваете под настройкой VBA - скачать максимум несколько разных версий под разные акады и установить на 30 машин? По кругу друг за другом за полчаса админ управиться, это чисто механическая работа. А вот развлекаться с событиями извне - врятли всего полчаса займет)
условно согласен, но вот при изменении в dvb, каждый раз этот круг нарезать... мне, а не админу. (пользователи мягко говоря не очень сильны в этих заморочках)))
т.о. решения для отлова события из внешнего события нет?
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 24.08.2015, 11:15
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


А кто мешает поместить dvb на сервак и оттуда его грузить?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 24.08.2015, 11:24
#7
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,298
Отправить сообщение для doctorraz с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А кто мешает поместить dvb на сервак и оттуда его грузить?
кроме разных версий автокада никто. и опять упираемся в вопрос регистрации СОМ
__________________
Мастерская СПДС
doctorraz вне форума  
 
Непрочитано 24.08.2015, 11:33
#8
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Можно попробовать писать на Auto-, VisualLISP, а не на VBA. Там тоже есть отслеживание событий, но от версий практически нет зависимости. И Enabler не требуется.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 24.08.2015, 12:21
#9
doctorraz

электрик
 
Регистрация: 19.02.2010
Волгоград
Сообщений: 2,298
Отправить сообщение для doctorraz с помощью Skype™


все же хотелось бы перейти на исполняемый файл + позднее связывание, что бы не сильно зависеть от внешних условий.
__________________
Мастерская СПДС
doctorraz вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Public WithEvents ACAD As AcadApplication есть ли возможность отвязаться от версии AutoCAD?

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
есть ли бесплатные версии autocad среди старых? RAGER AutoCAD 2 06.11.2012 12:26
Командв Isolate Objects и AutoCAD 2007; есть ли возможность добавить данную команду в AutoCAD 2007 Данила123456 AutoCAD 13 01.11.2011 13:44
Сомневаюсь в правильности своего перевода hwd Программирование 11 26.10.2009 08:43
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59