Autor
|
Thema: Makro Laufzeitfehler (2283 mal gelesen)
|
Volker Schulte Mitglied Techniker / Jetzt Rentner
Beiträge: 499 Registriert: 27.06.2006
|
erstellt am: 17. Mai. 2012 14:36 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich wollte mich heute zum ersten mal mit dem benutzerdefinierten Programmieren unter TurboCAD beschäftigen. Ich habe in der Makroaufzeichnung einen Beispielskript, in meinem Fall "turboCAD Test1.vbs" gestartet. Das funktioniert nicht. Ich erhalte folgende Meldung: TurboCAD Proffessional 16.1 Das Skript kann nicht wiedergegeben werden. Erlaubnis verweigert.: 'MsgBox' Datei: Laufzeitfehler in Microsoft VBScript Zeile:57 Fehler:0 Code:800a0046 Wenn ich den Skript mit TurboCAD 12 Pro starte, dann funktioniert er! Wer kann helfen? Gruß Volker. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 18. Mai. 2012 01:20 <-- editieren / zitieren --> Unities abgeben: Nur für Volker Schulte
Hallo Volker, habs auf 2 verschiedenen Rechner getestet, einmal v12 D und einmal V16.0 US. Das script funktioniert bei mir wenn ich es jeweils extern starte(z.b. wincommander). Wirft beidesmal die Regen methoden aus ohne Probleme. Mit der Makrorecorderpalette hab ich bei der V16 das gleiche ergebnis wie Du, mit identischer Fehlermeldung, bei der V12 auf dem anderen Rechner wirft er zwar das Ergebnis aus, stürzt aber gleich danach mit unhandeled exeption ab. Der Macrorecorder ist aber schon immer bei normalen VBS Scripten sehr empfindlich, es empfiehlt sich die scripte über den WSH zu starten. gruss mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 18. Mai. 2012 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für Volker Schulte
@Volker Die Beispiel-Skripte vbs werden am besten mit Doppelclick, d.h. extern über den im IE integrierten WSH gestartet. Bei der Abarbeitung im Makrorecorder erweist sich dieser allzu oft als ungeeignet, weil er viele Nicht-TC-Befehle, wie z.B. "Msg-Box" nicht versteht. Mit dem Makrorecorder kann man eine Befehlsfolge aufzeichnen - so, wie sie bei der normalen TC-Bedienung auftritt und diese dann auch wieder "abspielen". Bei der Abarbeitung extern geschriebener Skripts, die den gesamten Sprachumfang von vbs in Anspruch nehmen, kann es immer Probleme geben. Weitere Infos zur Programmierung und Arbeit mit dem TC-SDK kannst Du in meinem "SDK-TurboCAD - ein Tutorial" nachlesen - Inhaltsverzeichnis: http://www.ps-blnkd.de/SDK_Inh.pdf. Grüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 19. Mai. 2012 13:23 <-- editieren / zitieren --> Unities abgeben: Nur für Volker Schulte
Hallo Volker, ich hab mir die Sache nochmal angeschaut und ein paar Test gemacht. Der Crash in der V12 war dem Start als Nichtadmin geschuldet - mit AdministratorRechten läufts auch hier einwandfrei. Der Einwand mit Befehlen die der Makrorecorder nicht kennt ist natürlich unsinnig, TCAD arbeitet die in der V12 problemlos ab. Meiner Ansicht nach haben die Entwickler vor dem eigentlichen Scriptinterpreter von microsoft noch einen weiteren geschaltet, der bestimmte Sachen rausfiltert und umsetzt : In den Beispielmakros werden die Bezüge zu TCAD explizit erzeugt ("Turbocad.Application"), in der Makropalette sind sie vordefiniert - als Referenzen zu einem Application Objekt - trotzdem stürzt TC beim Start der .vbs Skripte nicht ab. Die msgbox befehle werden in der v12 auch richtig abgearbeitet. Anbei ein Skript, mit der Makrorecorder palette aufgezeichnet und am beginn und am Ende jeweils mit einer msgbox aufgepeppt - geht einwandfrei. Anders siehts mit diesem Skript in der V16 aus - Ergebnis wie von dir ermittelt. Im Code jedoch verwendet TCAD 16 weiterhin msgbox - allerdings nur zur ausgabe eventueller Fehlermeldungen. Sieht wohl so aus dass sie den Kram bewußt abgeklemmt haben - was natürlich eine weitere Einschränkung des Macrorecorders für sinnvolles Arbeiten ist. gruss mike
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Volker Schulte Mitglied Techniker / Jetzt Rentner
Beiträge: 499 Registriert: 27.06.2006
|
erstellt am: 19. Mai. 2012 17:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Mike, hallo PSblnkd, ich denke dass ich das mit TurboCAD SDK und VBA vergessen kann. Es sieht meiner Meinung nach so aus, als wenn nicht sehr viel dafür getan wird, was z.B. eine dedailierte Einführung mit guten Beispielen wäre. Ich habe keine gefunden und kann mir nicht vorstellen, welchen großen Sinn diese Tools in TurboCAD bieten. Ich habe keine Ahnung! Gruß Volker. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 21. Mai. 2012 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für Volker Schulte
@mike Zunächst ist zu bemerken, daß man eine vbs-Datei nicht direkt in den Makrorecorder laden kann - jedenfalls geht das nicht bei meiner 10er Version, zu höheren habe ich keinen Zugriff mehr und kann das demzufolge nicht prüfen. Wenn allerdings der Text über c&p eingefügt wird, geht es tatsächlich. Und auch - wie Du richtigerweise schreibts - der MsgBox-Befehl. Das war mir bis dato nicht gelungen, weil ich möglicherweise immer einen falschen Syntax verwendet habe. Interessant ist auch, die Abarbeitung des Skripts an Hand des gelben Zeilenpfeils zu beobachten, welcher an jeder MsgBox anhält, so daß mit dieser "Krücke" quasi auch einen Step-Betrieb simulieren kann (Der Makrorecorder bietet diese Funktion von Hause aus nicht an). Man kann eben immer noch dazu lernen! Allerdings würde ich ein Programm, was nur die 3 Linen zeichnet, wesentlich einfacher schreiben, als das in der offensichtlichen Makrorecorder-Aufzeichnung vorliegende. @Volker Ohne Fleiß kein Preis! - Wenn Du damit meinst, dass von Seiten IMSI sehr wenig für den SDK-Support unternommen wird, muß ich Dir leider recht geben. Aber da gibt es ja auch noch die bereits genannte Quelle mit detaillierter Einführung und jede Menge Beispielen. Trotzdem muß man sich - zugegebenermaßen zeitintensiv - damit beschäftigen und man wird "try & error" als allgegenwärtige Begleiterscheinung tolerieren müssen. Es ist noch kein Meister vom Himmel gefallen! Wenn Du wirklich wissen willst, welchen Sinn das TC-SDK hat, solltest Du Dir mal Anatoli's http://www.softdevspb.com/plugins/AniLabPage_40/AniLab.htm anschauen. Das hat er unter Anwendung des TC-SDK programmiert. Grüsse aus Berlin PSblnkd [Diese Nachricht wurde von PSblnkd am 23. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 26. Mai. 2012 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Volker Schulte
|
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010
|
erstellt am: 27. Mai. 2012 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für Volker Schulte
|
| Werkstudent im Bereich Maschinenbau / Maschinenentwicklung (m/w/d) | der führende Hersteller von Zangen für professionelle Anwender in aller Welt. Mit über 1.800 Beschäftigten in Wuppertal entwickeln und fertigen wir Lösungen für effektives, leichtes und sicheres Arbeiten. Wir sind seit 140 Jahren ein unabhängiges Familienunternehmen. Hohe Qualität und Leistungsfähigkeit, ständige Verbesserung und die Orientierung an menschlichen Werten sind Grundlagen unseres Handelns.... | Anzeige ansehen | Maschinenbau |
|
Volker Schulte Mitglied Techniker / Jetzt Rentner
Beiträge: 499 Registriert: 27.06.2006 TurboCAD 12.5 Pro und 16.2 Pro Build 54.3 und TurboCAD Pro 18.2 Windows 7
|
erstellt am: 27. Mai. 2012 17:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Mike, hallo PSblnkd, vielen Dank für Eure Hilfe. Ich beschäftige mich derzeit mit anderen Dingen. Somit werde ich mich zu späterer Zeit mal mit diesem Thema etwas vertraut machen. Gruß Volker. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |