| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: getpoint Fehler (1314 mal gelesen)
|
rhoehnke Mitglied Ingenieur
 Beiträge: 3 Registriert: 27.06.2006 Windows 2000 SP4 englisch, AutoCAD 2007 deutsch
|
erstellt am: 27. Jun. 2006 15:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo, wir haben eine Software geschrieben, für AutoCAD 2000 und AutoCAD VBA. Jetzt haben wir auf AutoCAD 2007 upgedatet und bekommen eine Fehlermeldung. Bei Aufruf unserer Software erscheint auf dem Bildschirm eine VBA Formular mit einem Button "draw". Wenn der Benutzer auf "draw" klickt, wird in VBA die Funktion getpoint aufgerufen. Wenn der Benutzer dann mit der Maus auf die Zeichnung klickt, kommt folgende Fehlermeldung: Laufzeitfehler -2147352567 (80020009): Die Methode GetPoint für das Objekt IAcadUtility ist fehlgeschlagen. Gruss Reiner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 27. Jun. 2006 16:43 <-- editieren / zitieren --> Unities abgeben:          Nur für rhoehnke
Hallo Reiner, Wie wärs mit einem Ausschnitt des Codes, wo der Fehler auftritt?! Dann könnte man das mal selber unter 2007 nachvollziehen. Nur mit der Fehlermeldung kann man nicht unbedingt viel anfangen. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 27. Jun. 2006 16:54 <-- editieren / zitieren --> Unities abgeben:          Nur für rhoehnke
Hallo Reiner, die Fehlermeldung sieht irgendwie nach VB und nicht VBA aus. Hast du AutoCAD 2000 und 2007 oder andere AutoCAD parallel installiert ? Und verwendest du irgendwo createobject oder getobject ? Dann musst du hinter "autocad.application.x" für x die VErsion eintragen. Stelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhoehnke Mitglied Ingenieur
 Beiträge: 3 Registriert: 27.06.2006 Windows 2000 SP4 englisch, AutoCAD 2007 deutsch
|
erstellt am: 29. Jun. 2006 08:43 <-- editieren / zitieren --> Unities abgeben:         
Hallo, danke für die antwort. Hier der Code: Option Explicit Public pntPick As Variant Private Sub cmdDraw_Click() ‘ *** Code *** Dim brfBlock As AutoCAD.AcadBlockReference Dim objLayer As AcadLayer For Each objLayer In ThisDrawing.Layers If objLayer.Freeze Then objLayer.Freeze = False End If Next pntPick = ThisDrawing.Utility.GetPoint(, "Pick Point > ") ThisDrawing.ActiveLayer = ThisDrawing.Layers("Rahmen") Set brfBlock = ThisDrawing.ModelSpace.InsertBlock(pntPick, dwgSTRSERVER & "\vew\PickPoint.dwg", 1, 1, 1, 0) ThisDrawing.ActiveLayer = ThisDrawing.Layers("0") ‘**** Code **** End Sub PS. DwgSTRSERVER ist eine Variable die den Severpfad enthält. Ich habe jetzt festgestellt, dass beim ersten Klick der Fehler auftritt, aber beim zweiten Klick nicht. Gruß Reiner
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 29. Jun. 2006 11:04 <-- editieren / zitieren --> Unities abgeben:          Nur für rhoehnke
Hallo Reiner, es liegt wohl daran das der Layer Rahmen nicht vorhanden ist. Dann kommt es zum Laufzeitfehler -2147352567 . Du kannst die Zuweisung des Layers auch einfacher und schneller machen.
Code:
pntPick = ThisDrawing.Utility.GetPoint(, "Pick Point > ") Set brfBlock = ThisDrawing.ModelSpace.InsertBlock(pntPick, dwgSTRSERVER & "\vew\PickPoint.dwg", 1, 1, 1, 0) brfBlock.layer = "Rahmen"
Und vielleicht vorher prüfen ob der Layer vorhanden ist.Stelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002
|
erstellt am: 30. Jun. 2006 16:07 <-- editieren / zitieren --> Unities abgeben:          Nur für rhoehnke
Hallo Reiner, Der Fehler tritt bei mir nur auf, wenn bei der Punktabfrage Escape gedrückt wird. Wird bei der Abfrage die Leertaste oder Return gedrückt bekommst du auch den Laufzeitfehler, allerdings ist hier dann der Error-Code in den Klammern anders. Da musst du wohl eine Fehlerabfrage in deinen Code einbauen. Ausserdem müsst da auch noch ein me.hide am Anfang des Codes rein, damit das Fenster für die Auswahl ausgeblendet wird. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |