Zugriff von Delphi auf AutoCAD Bibliothek
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Zusammen,
ich habe im Anhang ein Delphi-Programm welches auf die AutoCAD Befehls-Bibliothek zurück greifen soll. Beim Compilieren bleibt Delphi (siehe JPG im Anhang) hängen. Zuvor hatte ich über Komponente – Teilebibliothek die AutoCAD Standard Bibliothek geladen. Dennoch klappt es immer noch nicht. Ich arbeite unter delphi 2005. Welceh Einstellungen muss ich wo verändern damit mein programm ausgeführt werden kann. Gruß Joachim |
AW: Zugriff von Delphi auf AutoCAD Bibliothek
Liest du auch Compilerfehlermeldungen? Die ersten beiden sollten wohl mehr als klar sein.
|
AW: Zugriff von Delphi auf AutoCAD Bibliothek
Sorry - ich bin kein Profi aber den Fehler hätte ich bemerken müssen.
Trotzdem hängt es immer noch. Das Programm sieht jetzt so aus und wirft beim Compilieren folgende Meldung aus: [Fehler] Unit2.pas(38): E2003 Undefinierter Bezeichner: 'GetActiveOleObject' [Fehler] Unit2.pas(39): E2003 Undefinierter Bezeichner: 'IAcadModelspace' [Fehler] Unit2.pas(39): E2015 Operator ist auf diesen Operandentyp nicht anwendbar [Fehler] Unit2.pas(40): E2003 Undefinierter Bezeichner: 'SafeArrayRef' [Fehler] Unit2.pas(40): E2003 Undefinierter Bezeichner: 'IAcadCircle' [Fehler] Unit2.pas(40): E2015 Operator ist auf diesen Operandentyp nicht anwendbar [Fehler] Unit2.pas(44): E2029 '.' erwartet, aber ';' gefunden [Fataler Fehler] acadtest.dpr(5): F2063 Verwendete Unit 'Unit2.pas' kann nicht compiliert werden procedure TForm2.Button1Click(Sender: TObject); var i:integer; Acad, vPoint,MSpace,Circle : OleVariant; begin vPoint := VarArrayCreate([0,2],1); vPoint[0] := 2.0; vPoint[1] := 4.0; vPoint[2] := 0.0; Acad := GetActiveOleObject('AutoCAD.Application.24'); Mspace := IDispatch(Acad.ActiveDocument.ModelSpace) as IAcadModelspace; Circle := IDispatch(Mspace.AddCircle(SafeArrayRef(vPoint), 10.0)) as IAcadCircle; Circle.Update; end; end; Ich würde mich riesig freuen wenn ich noch ans Ziel kommen würde gruß Joachim |
AW: Zugriff von Delphi auf AutoCAD Bibliothek
Hallo,
änder das mal:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var i:integer; Acad, vPoint,MSpace,Circle : OleVariant; begin vPoint := VarArrayCreate([0,2],1); vPoint[0] := 2.0; vPoint[1] := 4.0; vPoint[2] := 0.0; Acad := GetActiveOleObject('AutoCAD.Application.24'); Mspace := IDispatch(Acad.ActiveDocument.ModelSpace) as IAcadModelspace; Circle := IDispatch(Mspace.AddCircle(SafeArrayRef(vPoint), 10.0)) as IAcadCircle; Circle.Update; end; end; // [Fehler] Unit2.pas(44): E2029 '.' erwartet, aber ';' gefunden scheinbar kennt die Unit diese Bezeichner (Klassen) nicht. [Fehler] Unit2.pas(38): E2003 Undefinierter Bezeichner: 'GetActiveOleObject' [Fehler] Unit2.pas(39): E2003 Undefinierter Bezeichner: 'IAcadModelspace' [Fehler] Unit2.pas(40): E2003 Undefinierter Bezeichner: 'SafeArrayRef' [Fehler] Unit2.pas(40): E2003 Undefinierter Bezeichner: 'IAcadCircle' Sind die notwendigen Units eingebunden? Grüße Klaus |
AW: Zugriff von Delphi auf AutoCAD Bibliothek
'GetActiveOleObject' -> Unit ComObj
'IAcadModelspace', 'IAcadCircle' -> Müsst in einer der bei Typbibliothek erzeugen TLB.Pas-Datei definiert sein. |
Zugriff von Delphi auf AutoCAD und Co
Ich würde gern mein CAD-Programm fernsteuern.
Mir fehlt leider jede Erfahrung zu diesem Thema, kann mit da jemand helfen? Delphi XE3 prof. und BricsCAD Den Kreis zeichnen geht schon :-) |
AW: Zugriff von Delphi auf AutoCAD Bibliothek
Was genau brauchst du denn?
Wir hatten das BricsCAD eine Weile über COM ferngesteuert, aber mehr um Daten auszulesen als selbst zu zeichnen. Da sich die COM-Schnittstelle aber mit so gut wie jeder Version geändert hatte und wir damit für jede BC-Version die bei Kunden im Einsatz war, eine eigene Version unsres Programms zur Verfügung stellen mussten, sind wir irgendwann dazu übergegangen, lieber auf Lisp zu setzen und die nur noch über Delphi zu starten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz