Questione : Come tratto gli eventi di AutoCAD da un programma di Delfi?

Deveoped una biblioteca di funzione di Delfi sopra il AutoCAD.Application ed aggiungerei a questa biblioteca un appoggio totale ad uso Delfi 7 delle entità e del documento events.
I e AutoCAD 2010. Come posso usare il BeginSave, il EndSave, gli eventi ecc… invocati dalla documentazione del AutoCAD VBA?
class= del

Risposta : Come tratto gli eventi di AutoCAD da un programma di Delfi?

>> la strega è il senso intercettare gli eventi infornati da AutoCAD?

Dipende da come modello di evento di AutoCAD. Gli ho chiesto di attaccare la lima di AutoCAD_TLB per guardare quanto ACAD definisce esattamente i relativi eventi.

Per esempio se il vostro AutoCAD_TLB assomiglia a questo:

TAcadDocumentBeginSave = procedura (ASender: TObject; nome di schedario del const: WideString) di oggetto;

TAcadDocument = codice categoria (TOleServer)
   ….
    proprietà OnBeginSave: TAcadDocumentBeginSave ha letto FOnBeginSave scrive FOnBeginSave;
    proprietà OnEndSave: TAcadDocumentEndSave ha letto FOnEndSave scrive FOnEndSave;
    proprietà OnBeginCommand: TAcadDocumentBeginCommand ha letto FOnBeginCommand scrive FOnBeginCommand;
    proprietà OnEndCommand: TAcadDocumentEndCommand ha letto FOnEndCommand scrive FOnEndCommand;
   …

Quando potete fare qualcosa di simile:

tipo
  TForm1 = codice categoria (TForm)
  …
  riservato
     procedura HandlerForAcadDocBeginSave (ASender: TObject; nome di schedario del const: WideString);
  …

procedura TForm1.Button1Click (ASender: TObject);
varietà
  Acad: IAcadApplication;
  AcadDocument: TAcadDocument;
cominciare
  Acad: = CreateOleObject (“AutoCAD.Application„) come IAcadApplication;
  Acad.Visible: = allineare;
  AcadDocument: =TAcadDocument.Create (applicazione);
  AcadDocument.OnBeginSave: = HandlerForAcadDocBeginSave;
  AcadDocument.ConnectTo (Acad.ActiveDocument);  
 …
Altre soluzioni  
 
programming4us programming4us