Тема: Собственный реактор
Уважаемые господа!
Подскажите, пожалуйста, можно ли создать в VBA собственный реактор (на встроенные полагаться невозможно), который бы отзывался на подключение к ACAD'у определенной программы-приложения?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Собственный реактор
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Уважаемые господа!
Подскажите, пожалуйста, можно ли создать в VBA собственный реактор (на встроенные полагаться невозможно), который бы отзывался на подключение к ACAD'у определенной программы-приложения?
вы слишком многого хотите от VBA... :) (без обид)
не для этого он делался...
но(!) подобный сабж выполнить можно..., но не на VBA :
что-то типа сервис-приложения со своим COM-интерфейсом, которое и будет решать задачу "остлеживания", а уже на VBA пишется класс-обертка для взаимодействия со своим сервисом.
вот общая суть, а реализовывать уже вам :)
Отнюдь, совсем немного. Все это делается легко.
Помести этот код в ThisDrawing:
Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
MsgBox "Получена команда: " & CommandName
End Sub
Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
MsgBox "Окончена команда: " & CommandName
End Sub
(3dcad) сабж гласит о возможности сигнализирования на подключение некой (определенной!) программы к AutoCad, а не об отслеживании выполненяемых prompt-команд...
(а уж какое приложение послало команду - это в BeginCommand/EndCommand точно не отловишь...)
callisto, ты хоть разберись с примером и как работает AutoCAD вообще. Это именно то, что спрашивал Leonid. Prompt-команды - это из другой области.
> 3dcad
Выглядит замечательно, но работает ненадежно, не ловит мышей... Поэтому и завел разговор о собственной ловушке.
А программа-максимум для меня, действительно, - получать имя запускаемого приложения. И кажется, почему-то, что эта штука на только меня одного интересует.Уверен, где-то, у кого-то что-то подобное уже есть. Потому и возопил ! А-уууу!
:) дык в том-то и дело что не ловит!
3dcad, помянул мне, чтобы я разобрался с его примером... а чего тут разбираться, если пример демонстрирует обработку событий "посыла" команд (набранных в командной строке) для текущего открытого документа...
а пусть-ка 3dcad расширит свой пример и покажет: как получить имя приложения, сформировавшего данную команду и выполнившую SendCommand... :)))
Leonid - твоя "программа максимум" не из области AutoCad, а из области автоматизации вообще (!!!)... и "А-УУУУ" прийдется кричать достаточно громко, а лучше браться за книжки :)
> callisto
Leonid - твоя "программа максимум" не из области AutoCad, а из области автоматизации вообще
Думаю, можно даже сказать по-конкретнее - из области применения API-функций в VB(VBA) .Книжки, и даже очень толстые, у меня есть. Просто, как нормально ленивый человек
брожу в поисках какой-нибудь бесплатной программки...в сети.
дык, вместо хождения уже сам давно бы наваял... :)))
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Собственный реактор
Форум работает на PunBB, при поддержке Informer Technologies, Inc