Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизОтслеживание открытия/закрытия чертежей AutoCAD Найти похожие ветки
← →
Asail (2006-02-09 12:08) [0]Здрасте!!!
Можно-ли отследить события по откр./закр. чертежей (документов)? Пока, единственное, что смог придумать, это по таймеру обращатся через COM к акаду и смотреть, какие документы открыты, и какой из них активный.
В принципе, работает, но сильно грузит CPU, причем, не моим приложением, а акадом. Есть ли у кого более умные варианты?
Прилагаю свой код обработчика таймера (Interval=500):
List использую исключительно в целях отладки...
// подключаемся к акаду
try
AcadAppl:=GetActiveOLEObject("AutoCAD.Application");
except
Edit1.Text:="Acad not running...";
Exit
end;
// проверяем активный документ
try
AcadDoc:=AcadAppl.ActiveDocument;
Edit1.Text:=AcadDoc.Name;
except
Edit1.Text:="No open drawing...";
Exit
end;
// находим список всех открытых документов
List.Clear;
try
Count:=AcadAppl.Documents.Count;
for i:=0 to Count-1
do begin
List.Items.Add(AcadAppl.Documents.Item(i).Name);
end;
except end;
Спасибо!!
← →
EvS (2006-02-09 12:43) [1]>(Interval=500)
Там, что каждые полсекунды кто-то открывает(закрывает) документы?
← →
Asail (2006-02-09 13:51) [2]Нет, но мне надо отследить момент открытия/закрытия документа. С точностью до секунды, хотя бы.
← →
k2 © (2006-02-09 15:11) [3]написать *.аrх - специального вида длл-ку, пущай загружается при старте автокада, ловит события открытия/закрытия/активации, пишет в лог
← →
umbra © (2006-02-09 15:22) [4]посмотрите в sdk или msdn о функциях
ReadDirectoryChangesW
илиFindFirstChangeNotification
. Похоже, это то, что вам надо
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.029 c