Тема: Отслеживание событий открытия/закрытия чертежей из Delphi
Здрасте!!!
Можно-ли отследить события по откр./закр. чертежей (документов)? Пока, единственное, что смог придумать, это по таймеру обращатся через 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;
Спасибо!!