Аудит средствами .NET API

Автор Тема: Аудит средствами .NET API  (Прочитано 21433 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #30 : 30-06-2015, 17:48:00 »
Philippe Leefsma
Я не собираюсь с ним спорить. Переключение на Custom AcDbHostApplicationServices будет делаться только на время команды Audit.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Аудит средствами .NET API
« Ответ #31 : 30-06-2015, 17:57:13 »
Я не собираюсь с ним спорить. Переключение на Custom AcDbHostApplicationServices будет делаться только на время команды Audit.
Я не о споре. Где гарантия того, что во время работы Audit, внутри API самого AutoCAD не произойдёт (в той или иной ситуации) попытка обращения к тому самому non-published, derived class? Если я верно понял Philippe Leefsma - таких гарантий как раз и нет... Т.е. это как подбрасывание монетки: в одном случае всё может пройти успешно (попытка обращения не производилась), а в другом (попытка обращения имеется) - накрыть медным тазом AutoCAD.

There is only one way is hack commandline output and read it. As I know it is possible only with ObjectARX:
Trapping The Output From The AutoCAD Text Screen / Command Prompt
Вряд ли возможность воспользоваться наследованием, и так разрешённым в ObjectARX, с последующим вызовом штатной функции acdbSetHostApplicationServices стоит называть хаком :) Вот если бы был продемонстрирован способ решения через хуки - тогда да (причём такой пример было бы даже очень интересно почитать)...

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #32 : 30-06-2015, 18:56:13 »
Вот если бы был продемонстрирован способ решения через хуки - тогда да (причём такой пример было бы даже очень интересно почитать)
Зачем хуки в данном случае? Тем более что окно CommandLine может быть вообще закрыто, так что "хукать" будет нечего. Можно просто перед _Audit сделать _LogFileOn, после _Audit сделать _LogFileOff и прочитать log-файл. Самый простой способ.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: Аудит средствами .NET API
« Ответ #33 : 30-06-2015, 19:04:04 »
окно CommandLine может быть вообще закрыто, так что "хукать" будет нечего
Я предполагал, что обозначенное окно связано с некоторым потоком (stream), в следствии чего работать было бы целесообразней именно с потоком, а не с окошком. А операции, обозначенные Филипом воспринимал как обёртки над штатными функциями записи в поток.

Можно просто перед _Audit сделать _LogFileOn, после _Audit сделать _LogFileOff и прочитать log-файл. Самый простой способ.
Можно.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Аудит средствами .NET API
« Ответ #34 : 30-06-2015, 19:10:34 »
А операции, обозначенные Филипом воспринимал как обёртки над штатными функциями записи в поток.
Вот этот поток только так (через AcDbHostApplicationServices) и можно хукать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение