AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zugriff von Delphi auf AutoCAD Bibliothek
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff von Delphi auf AutoCAD Bibliothek

Ein Thema von JoBoCAD · begonnen am 27. Apr 2011 · letzter Beitrag vom 26. Mai 2018
Antwort Antwort
JoBoCAD

Registriert seit: 13. Jan 2011
21 Beiträge
 
#1

Zugriff von Delphi auf AutoCAD Bibliothek

  Alt 27. Apr 2011, 14:07
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
Miniaturansicht angehängter Grafiken
acad_lib.jpg   delphi_comp.jpg  
Angehängte Dateien
Dateityp: zip acadtest.zip (5,1 KB, 21x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Zugriff von Delphi auf AutoCAD Bibliothek

  Alt 27. Apr 2011, 14:23
Liest du auch Compilerfehlermeldungen? Die ersten beiden sollten wohl mehr als klar sein.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
JoBoCAD

Registriert seit: 13. Jan 2011
21 Beiträge
 
#3

AW: Zugriff von Delphi auf AutoCAD Bibliothek

  Alt 27. Apr 2011, 15:09
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Zugriff von Delphi auf AutoCAD Bibliothek

  Alt 27. Apr 2011, 15:21
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Zugriff von Delphi auf AutoCAD Bibliothek

  Alt 27. Apr 2011, 15:27
'GetActiveOleObject' -> Unit ComObj
'IAcadModelspace', 'IAcadCircle' -> Müsst in einer der bei Typbibliothek erzeugen TLB.Pas-Datei definiert sein.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
annotare

Registriert seit: 24. Mai 2018
1 Beiträge
 
#6

Zugriff von Delphi auf AutoCAD und Co

  Alt 24. Mai 2018, 21:01
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
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: Zugriff von Delphi auf AutoCAD Bibliothek

  Alt 26. Mai 2018, 11:16
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.
Sebastian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 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