Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  ActiveX DLL mit Dialogfenster im AutoCAD aufrufen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  ActiveX DLL mit Dialogfenster im AutoCAD aufrufen (3057 mal gelesen)
wklemens
Mitglied
Systemingenieur


Sehen Sie sich das Profil von wklemens an!   Senden Sie eine Private Message an wklemens  Schreiben Sie einen Gästebucheintrag für wklemens

Beiträge: 383
Registriert: 02.09.2002

erstellt am: 30. Sep. 2003 11:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Ich suche ein Beispiel, in dem ein VB ActiveX-DLL im AutoCAD über Lisp angespochen wird. Es sollte irgendwie möglich sein, ein VB-Dialogfenster statt der DCL-Fenster zu verwenden. Wer hat eine Idee und ein Beispiel?

Vielen Dank!

------------------
Grüße aus Linz

Willi Klemens
MCDS Datensystem GmbH

www.mcds.net

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1790
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2023 SP5.0
EPDM
----------------
Windows 11
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 30. Sep. 2003 15:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wklemens 10 Unities + Antwort hilfreich

Hallo Willi

mal eine blöde Frage.
Warum nicht gleich in VBA programmieren?

Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wklemens
Mitglied
Systemingenieur


Sehen Sie sich das Profil von wklemens an!   Senden Sie eine Private Message an wklemens  Schreiben Sie einen Gästebucheintrag für wklemens

Beiträge: 383
Registriert: 02.09.2002

erstellt am: 30. Sep. 2003 17:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

@Heinz:
Gewisse Steuerelement können leider nicht in VBA eingebunden werden. Daher möchte ich den Weg über VB gehen.

------------------
Grüße aus Linz

Willi Klemens
MCDS Datensystem GmbH

www.mcds.net

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1790
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2023 SP5.0
EPDM
----------------
Windows 11
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 01. Okt. 2003 07:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wklemens 10 Unities + Antwort hilfreich

Hallo Willi

hast Du ganz spezielle Steuerelemente?
Mir ist bis jetzt noch Keines untergekommen, welches ich nicht einbinden konnte.

Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wklemens
Mitglied
Systemingenieur


Sehen Sie sich das Profil von wklemens an!   Senden Sie eine Private Message an wklemens  Schreiben Sie einen Gästebucheintrag für wklemens

Beiträge: 383
Registriert: 02.09.2002

erstellt am: 01. Okt. 2003 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Heinz!

Mir geht es jetzt nicht um bestimmte Steuerelemente. Ich möchte nur wissen, wie ich ein ActivX-Dll in VB6 erstelle, das ich in AutoCAD dann über LISP anspreche. Mir ist schon klar, daß ich in VB(A) fast jedes Problem auch lösen kann. Ich habe nur hunderte LISP-Programme mit Dialogfenstern in DCL, die ich eventuell durch ein Fenster in VB ersetzen will. Dazu suche ich irgend ein Programmierbeispiel.

------------------
Grüße aus Linz

Willi Klemens
MCDS Datensystem GmbH

www.mcds.net

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 06. Okt. 2003 13:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Prinzipiel kannst du eine ACtiveX-Komponete mit Lisp aufrufen.
Dazu musst du per VLAX-Befehle ein Objekt erzeugen und dann kannst du die Eigenschaften und Methoden der Komponente aufrufen.
Weiteres würde hier zu weit führen, da das Thema wirklich sehr komplex ist.
Schau mal bei http://www.acadx.com nach.

Jürgen

vkleppel
Mitglied
Dipl.-Ing. Architekt


Sehen Sie sich das Profil von vkleppel an!   Senden Sie eine Private Message an vkleppel  Schreiben Sie einen Gästebucheintrag für vkleppel

Beiträge: 11
Registriert: 19.09.2003

erstellt am: 06. Okt. 2003 22:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wklemens 10 Unities + Antwort hilfreich

Hallo,

die Programmaufgabe die du hast, ist zweistufig. Du mußt in VB ein sogenanntes "ActiveX-DLL" Projekt anlegen, in dem Du z.B. die benötigten Formulare und weitere Module anlegst. Danach ist in VBA oder VisualLisp der Zugriff in AutoCAD auf die ActiveX-Komponente zu programmieren.

Zu VB:
Hier mußt Du ein Klassenmodul schreiben, daß die Verbindung zur "Aussenwelt" herstellt. Der Name des Projekts entspricht hierbei dem DLL-Dateinamen und damit dem ActiveX-Namen, der Name des Klassenmoduls entspricht dem Objekt innerhalb der DLL. Die im Klassenmodul definierten öffentlichen SUB oder FUNCTION (public SUB/FUNCTION) können dann als Funktion aufgerufen werden.

Zu VBA/VisualLisp:
Hierzu ein kleines Beispiel, das ein Objekt aus der Datei "XODLL.dll" mit der Klassenmodul "XOCLASS" erstellt und dann die im Klassenmodul vorhandene öffentliche Routine "XOFUNCTION" mit der Parameterübergabe 'objThsDrawing' übergibt:

(defun c:XDO (/ objXDODll objThisDrawing xdodump)
  (vl-load-com)
  (setq objXDODLL (vlax-create-object "XODLL.XOCLASS"))
  (setq objThisdrawing (vla-get-activedocument (vlax-get-Acad-Object)))
  (setq xdodump (vlax-invoke-method objXDODLL "xofunction" objThisdrawing))
  (vlax-release-object objXDODLL)
  (vlax-release-object objThisdrawing)

)

Sobald das Objekt XODLL.XOCLASS nicht mehr existiert, wird die Codeausführung an VisualLisp zurück übergeben und die in VisualLisp erzeugten Objekte objXODLL und objThisDrawing werden gelöscht. Eine Einbindung der DLL in VBA sieht ähnlich aus.

Dein Wunsch, manche Formulare in VB zu programmieren, kann ich nachvollziehen. Denn zum einen steckt dort eventuell Code, denn man nicht so ohne weiteres veröffentlchen will oder man will durch die Installationsroutine von VB sicher gehen, daß auch wirklich alle benötigten weiteren Komponenten auf einem System installiert sind. Dieses ist bei VBA beiden nicht gegeben.

Ciao
Volker

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Harryxx
Mitglied
Konstrukteur

Sehen Sie sich das Profil von Harryxx an!   Senden Sie eine Private Message an Harryxx  Schreiben Sie einen Gästebucheintrag für Harryxx

Beiträge: 5
Registriert: 12.09.2001

erstellt am: 13. Okt. 2003 12:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wklemens 10 Unities + Antwort hilfreich

ist zwar VBA aber der Sample Code zur dll schlummert unter Sample\ActiveX\ExternalCall im Autocad Verzeichnis.

Harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 16. Okt. 2003 13:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wklemens 10 Unities + Antwort hilfreich

hallo herr klemens !

besuchen sie mich doch mal in meiner firma, sowas habe ich schon öfters auprobiert, ist gar nicht so schwer

bzw. haben sie schon mal object DCL ausprobiert, finde ich genial

Anton Fuchs, Bene Büromöbel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz