| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Imageframe (1306 mal gelesen)
|
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 05. Jul. 2010 15:24 <-- editieren / zitieren --> Unities abgeben:
Hallo an Alle, weiß jemand warum folgendes in Net nicht geht: "ThisDrawing.SetVariable("Imageframe", 0))" Was könnte man statt dessen schreiben? Thisdrawing ist vorher deklariert und funkt. auch. Danke, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Jul. 2010 15:31 <-- editieren / zitieren -->
Hi, wenn's funkt, wozu anders? Was ist der Hintergrund der Frage? Z.B. wäre auch dieses möglich: Autodesk.AutoCAD.ApplicationServices.Application.SetSystemVariable(.... - alfred - ------------------ www.hollaus.at |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 05. Jul. 2010 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für Theo37
Zitat: Original erstellt von Theo37: weiß jemand warum folgendes in Net nicht geht:
Weils keine Beine hat. Nein Spass beiseite, was meinst mit nicht geht. Fehlermeldung, es tut einfach nicht, es kommt ein Systemfehler. Nitcht geht ist halt eine sehr unpräzise Beschreibung
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 05. Jul. 2010 15:53 <-- editieren / zitieren --> Unities abgeben:
Hallo an euch Beide, es kommt die Fehlermeldung " Exception wurde nicht von Benutzercode behandelt" Bei beiden Varrianten kommt diese Fehlermeldung. Bei der von mir und auch bei dem Vorschlag von Alfred. Ich habe jetzt mal folgendes geschrieben: ThisDrawing.SendCommand("Imageframe 0 ") das geht. Aber bei einer Befehlwiederholung mit der Returntaste kommt dann natürlich "Imageframe". Was nicht schön ist. Mir wäre eine Andere Lösung lieber. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Jul. 2010 15:58 <-- editieren / zitieren -->
Hi, mach bitte mal:
Code: Try ThisDrawing.SetVariable("Imageframe", 0)) Catch ex as System.Exception Debug.Print ex.Message & vbNewLine & ex.InnerException.ToString End Try
und entweder einen BreakPoint beim 'Debug.Print' oder Du lässt den Code durchlaufen und gibst uns dann den Inhalt, was da detailliert ausgegeben wird/wurde. - alfred - ------------------ www.hollaus.at |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 05. Jul. 2010 16:24 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 05. Jul. 2010 16:34 <-- editieren / zitieren -->
Hi, Debug.Print gibt nichts in der Befehlszeile aus, sondern in VisualStudio. Kann es sein, dass der Fehler nur auftritt, wenn Ps <> But5 ist? Dann würde ich vermuten, dass Du ein Command angestartet hast, damit ist ein Befehl aktiv (AutoCAD wartet ja dann auf die Eingabe einer STB bzw. CTB (mit diesem Dialog ist AutoCAD blockiert und kann daher kein 'ThisDrawing' (aus Deiner Funktion) retournieren ==> Timeout ==> Fehler). Probier mal, die Zeile oberhalb des SendCommands einzusetzten. Probier weiters mal, statt 0 zu übergeben den Syntax wie oben auszuführen ==> CInt(0) - alfred - ------------------ www.hollaus.at |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 05. Jul. 2010 16:55 <-- editieren / zitieren --> Unities abgeben:
Hab ich beides gemacht, bringt beides nur eine Fehlermeldung.Nullrefernz Exception wurde nicht von Benutzercode behandelt. Mal ne dumme Frage, geht die Zeile bei euch Beiden wenn ihr sie mal irgendwo einbaut? Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Jul. 2010 17:13 <-- editieren / zitieren -->
Hi, probier mal: Autodesk.AutoCAD.ApplicationServices.Application.SetSystemVariable("IMAGEFRAME", Int16.Parse("0")) Ich hab's probiert, bekomme aber einen anderen Fehler (eInvalidInput), Deine Fehlerausgabe bekomm ich nicht. - alfred - ------------------ www.hollaus.at |
Theo37 Mitglied Techniker
Beiträge: 423 Registriert: 08.10.2008
|
erstellt am: 06. Jul. 2010 09:02 <-- editieren / zitieren --> Unities abgeben:
Danke Alfred, das war die Lösung. Was ist an Imageframe anders als an den anderen Systemvariablen die sich problemlos setzen lassen? Ansonsten komm ich gut voran. Was ein echter Vorteil von NET gegenüber VBA ist, ist daß man eigene Befehle erstellt die sich auch wiederholen lassen und nicht immer mit vbarun und Lisp herumbasteln muß. Gruß, Theo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |