Cuestión : ¿Cómo manejo los acontecimientos de AutoCAD por un programa de Delphi?

Deveoped una biblioteca de función de Delphi sobre el AutoCAD.Application y agregaría a esta biblioteca un apoyo total al uso Delphi 7 del documento y de las entidades events.
I y AutoCAD 2010. ¿Cómo puedo utilizar el BeginSave, el EndSave, etc… los acontecimientos invocados por la documentación de AutoCAD VBA?
class= del

Respuesta : ¿Cómo manejo los acontecimientos de AutoCAD por un programa de Delphi?

¿>> la bruja es la manera de interceptar los acontecimientos encendidos por AutoCAD?

Depende de cómo modelo de acontecimiento de AutoCAD. Pedí que usted atara el archivo de AutoCAD_TLB para mirar cómo ACAD define exactamente sus acontecimientos.

Por ejemplo si su AutoCAD_TLB parece esto:

TAcadDocumentBeginSave = procedimiento (ASender: TObject; nombre de fichero del const: WideString) del objeto;

TAcadDocument = clase (TOleServer)
   ….
    característica OnBeginSave: TAcadDocumentBeginSave leyó FOnBeginSave escribe FOnBeginSave;
    característica OnEndSave: TAcadDocumentEndSave leyó FOnEndSave escribe FOnEndSave;
    característica OnBeginCommand: TAcadDocumentBeginCommand leyó FOnBeginCommand escribe FOnBeginCommand;
    característica OnEndCommand: TAcadDocumentEndCommand leyó FOnEndCommand escribe FOnEndCommand;
   …

Cuando usted puede hacer algo similar:

tipo
  TForm1 = clase (TForm)
  …
  privado
     procedimiento HandlerForAcadDocBeginSave (ASender: TObject; nombre de fichero del const: WideString);
  …

procedimiento TForm1.Button1Click (ASender: TObject);
var
  Acad: IAcadApplication;
  AcadDocument: TAcadDocument;
comenzar
  Acad: = CreateOleObject (“AutoCAD.Application”) como IAcadApplication;
  Acad.Visible: = verdad;
  AcadDocument: =TAcadDocument.Create (uso);
  AcadDocument.OnBeginSave: = HandlerForAcadDocBeginSave;
  AcadDocument.ConnectTo (Acad.ActiveDocument);  
 …
Otras soluciones