Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  externe DLL Laufzeitfehler 429

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
Autor Thema:  externe DLL Laufzeitfehler 429 (596 / mal gelesen)
forelle
Mitglied
Vermesser

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

Beiträge: 5
Registriert: 21.11.2006

Win10PRO 64bit AutoCAD 2018/2020 64bit, BricsCAD V21 64bit

erstellt am: 16. Aug. 2021 08:03    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

Guten Morgen!

ich versuche eine externe DLL zum Schreiben von Shape-Dateien einzubinden & bekomme in AutoCAD / BricsCAD folgende Meldung:

Laufzeitfehler '429': Objekterstellung durch ActiveX Komponente nicht möglich

ArcViewShapeFile.dll (https://hub.arcgis.com/content/a613e1282404495f8c075dd29ed057a5/about)


Option Explicit

Sub Punkte()
 
  Dim ShapePunkte As New ShapeFiles 'Laufzeitfehler 429

''    Dim ShapePunkte As ShapeFiles
''    On Error GoTo err_handler
'    Set ShapePunkte = CreateObject("ArcViewShapeFile.ShapeFiles")
 
  With ShapePunkte
  End With
End Sub


Da ich keine Ahnung habe, wühle ich mich seit Tagen durch den Internetnebel und probiere alles mögliche, jedoch ohne wirklich zu wissen, was ich da tue...

was bisher geschah:

> VBA-Editor Verweise
  - Visual Basic for Application (c:\Program Files\Common Files\microsoft shared\VBA\VBA7.1\) macht das einen Unterschied, ob VB6 oder VB7?
  - OLEAutomation
  - AutoCAD TypeLibrary
  - ArcViewShapeFile.dll

> DLL ist anyCPU (habe ich so verstanden), im AutoCAD VBA-Objektkatalog werden die Funktionen angezeigt Shape*, im Excel-VBA klappt CreateObject mit der DLL

> Office aktualisieren (Autodesk knowledge )> kann ich nicht, ist ein Firmenrechner, außerdem kann ich Excel über VBA CreateObject ohne Fehlermeldung ansprechen... was hat das Office damit zu tun?!?  (AutoCAD 64bit Office2010 32bit)

> CreateObject statt New verwenden > Early/Late-binding klappt beides nicht !Forenbeitrag von 2007 "externe DLL über GetInterfaceObject ansprechen" Antwort von Stelli1 > Test mit ActiveXdllTest.dll > gleicher Fehler (bin nicht sicher, ob das eine 32Bit-DLL ist)

> die DLL mit regsvr32 C:/Windows/SysWOW64/ registrieren

> microsoft access database engine 64bit registrieren  (Autodesk knowledge ) - das bräuchte es doch eigentlich auch nicht, da die dll ja ohne MS Office und access auskommen sollte?!?

Leider habe ich keine andere DLL zur Hand, um zu testen, ob es an der DLL liegt, oder ob es sich um ein generelles Problem handelt.
Oder müsste ich tatsächlich eine 32-Bit AutoCAD-Installation vornehmen (mit msi ändern etc.)?

Ein Kollege verwendet die DLL auf einem ähnlichen Rechner mit Microstation (unsicher ob 32 oder 64bit) und es kann ja nicht sein, dass ich da mit AutoCAD nicht mithalten kann!


Ich hoffe, dass ich einfach nur eine Kleinigkeit übersehen habe und mir jemand auf die Sprünge helfen kann.


Vielen Dank im Voraus, Frohes Schaffen & eine schöne Woche!

Anne 


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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 16. Aug. 2021 12:58    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 forelle 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von forelle:

> Office aktualisieren (Autodesk knowledge )> kann ich nicht, ist ein Firmenrechner, außerdem kann ich Excel über VBA CreateObject ohne Fehlermeldung ansprechen... was hat das Office damit zu tun?!?  (AutoCAD 64bit Office2010 32bit)

> microsoft access database engine 64bit registrieren  (Autodesk knowledge ) - das bräuchte es doch eigentlich auch nicht, da die dll ja ohne MS Office und access auskommen sollte?!?

Leider habe ich keine andere DLL zur Hand, um zu testen, ob es an der DLL liegt, oder ob es sich um ein generelles Problem handelt.
Oder müsste ich tatsächlich eine 32-Bit AutoCAD-Installation vornehmen (mit msi ändern etc.)?

Ein Kollege verwendet die DLL auf einem ähnlichen Rechner mit Microstation (unsicher ob 32 oder 64bit) und es kann ja nicht sein, dass ich da mit AutoCAD nicht mithalten kann!



Hallo Anne,

Hatte vor einigen Jahren auch ziemlich Probleme mit der Umstellung auf 64 Bit Autocad und da ich auch viel mit Datenbanken zu tun hatte war das einfachste auch Office auf 64 Bit umzustellen.

ArcGIS Shape hat ja nicht direkt etwas mit Office zu tun und sollte auch ohne Office gehen. Aber auch dort hatte ich diverse Probleme weshalb ich dann der Einfachheit halber diese Prozeduren in ArcGIS durchführen ließ, dort war der Zugriff auf Autocad kein Problem.

Hast Du denn ArcGIS auf dem PC installiert? Bin mir gar nicht sicher ob die VBA.dll ohne ArcGIS funktioniert

Grüße
Klaus 

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

forelle
Mitglied
Vermesser

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

Beiträge: 5
Registriert: 21.11.2006

Win10PRO 64bit AutoCAD 2018/2020 64bit, BricsCAD V21 64bit

erstellt am: 16. Aug. 2021 15:43    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 Klaus,

Danke für die Antwort, auch wenn sie für mich wenig erbaulich ist.

> die Firmen-IT sagt: kein Office Update auf 64Bit, gibt nur Ärger mit anderen Programmen und DLL's. Es ist also auch keine Umstellung geplant.
> die Microstation-Version vom Kollegen ist eine 32-Bit-Variante, hier wird dann demnächst mal getestet, ob das Makro in der 64-Bit-Variante auch nicht mehr laufen würde
> die DLL (ArcViewShapeFile) bzw. OCX ist lt. Urheber Ross Pickard in VB6 (erst VB4) geschrieben und lt. meinem Kollegen eine von ArcGIS und MS Access völlig unabhängige DLL  (auch wenn die das auf der ArcGIS-Homepage verlinken) . In dem Paket liegt auch eine ArcShapeFileNetDLLx64.dll die kann ich aber nicht einbinden... Müsste man dann was in .NET programmieren? Ich bin echt sowas von ahnungslos  > aber das wäre dann eine andere Baustelle / ein anderes Forum.

> ArcGIS habe ich leider nicht, Wenn Shape-File dann QGIS... Eine Autocad AEC d.h. also mit MAP habe ich zwar, nutze es aber so gut wie gar nicht. 
Das Ziel von diesem Makro sollte eigentlich sein, aus einer dummen DWG attributierte Linien in eine Shape zu bekommen (Line wählen > Text wählen als Schleife...).

Nun denn, dann muss ich mich wohl geschlagen geben  Dafür hat der Kollege mit dem Microstation jetzt richtig viel zu tun...   

Falls doch noch jemand eine Idee bzw. einen anderen Lösungsweg hätte > würde ich mich freuen, denn geht nicht, gibts ja eigentlich nicht... und überhaupt aus Prinzip!

Anne

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 16. Aug. 2021 16:26    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 forelle 10 Unities + Antwort hilfreich

Hi,
Weiß nicht welche Attribute Du an die Linien setzen möchtest. Aber Du könntest OjektDaten an die Linien "heften" und diese dann über Shapeexport samt Attributen in ein Esri.shp exportieren. Da mußt Du gar nichts programmieren, nur das Objekt definieren.
Grüße
Klaus 

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

forelle
Mitglied
Vermesser

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

Beiträge: 5
Registriert: 21.11.2006

Win10PRO 64bit AutoCAD 2018/2020 64bit, BricsCAD V21 64bit

erstellt am: 16. Aug. 2021 18:11    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 Klaus,

einwandfrei! ich muss zwar bein Null anfangen (ich wollte doch eigentlich nur das Microstation-Makro übersetzen...außerdem hatte ich gehofft, dass ein normales AutoCAD/BricsCAD reicht), ABER das MAP ist momentan ja noch da und ein Lösungsansatz ist ein Lösungsansatz!

Die Objekttabellen habe ich eben Testweise ran geklöppelt und der Shape-Export sah auch gut aus. Jetzt muss ich alles nur noch in eine VBA Schleife packen, so dass die Texte automatisch in der Objekttabelle landen. Sollte ja ähnlich zu den normalen Attributen klappen.

Danke & einen schönen Abend

Anne

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

forelle
Mitglied
Vermesser

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

Beiträge: 5
Registriert: 21.11.2006

Win10PRO 64bit AutoCAD 2018/2020 64bit, BricsCAD V21 64bit

erstellt am: 28. Aug. 2021 11:10    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

kurzer Abschlussbericht meinerseits:

- die o.g. DLL läuft unter 64-Bit Programmen (also auch unter Microstation) nicht
- das Problem ist dem Urheber der DLL bekannt und wenn er mehr Zeit hätte, würde er diese in VB7 bzw. 64-Bit lauffähig übersetzen. Sieht mommentan aber eher schlecht aus.

- mein Problem habe ich dem Vorschlag von KlaK folgend über MAP3D und ObjektDatenTabellen (ODT) gelöst
- mit VBA konnte ich allerdings nur ein Makro zum erzeugen der ODT erstellen. Dieses lief dann auf einem anderen Rechner unter MAP2019 nicht.
- VBA habe ich also verworfen und statt dessen Visuallisp verwendet. Das läuft auch auf anderen Rechnern und die AutodeskHilfe war für meinen Fall ausreichend > Suche nach z. Bsp. ade_oddefinetab)


Danke nochmal & allerseits ein schönes Wochenende

Anne 

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 28. Aug. 2021 12:06    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 forelle 10 Unities + Antwort hilfreich

Hallo Anne,
Danke für die Rückmeldung, ich markiere den Beitrag dann als erledigt

Grüße
Klaus 

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)2023 CAD.de | Impressum | Datenschutz