|
CATIA V5 Programmierung : Disassemble automatisieren
CoolEagle am 01.11.2011 um 15:57 Uhr (0)
Hallo,ich habe schon viel gesucht, aber noch keine Antwort gefunden:Ich möchte per Makro ein "Disassemble" aufrufen und anschliessend bestätigen, dass dieser auch durchgeführt wird. Das Ganze mache ich in einem CATScript.Set wshShell = CreateObject( "WScript.Shell" )CATIA.Application.StartCommand("Disassemble")wshShell.AppActivate ("Disassemble")wshShell.SendKeys "{ENTER}"wshShell.SendKeys "{ESCAPE}" Test ob sich das Disassemble schliessen lässtwshShell.SendKeys "{ESCAPE}"Funktioniert natürlich nicht N ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATVBA nicht registriert, versch. V5-Versionen
CoolEagle am 16.01.2011 um 17:10 Uhr (0)
Hallo!Hier erst einmal eine ausführliche Beschreibung des Problems:Wir haben bei uns ein .catvba-Makro laufen das im R18 genutzt wird. Dieses R18 ist mit CNEXT.EXE -REGSERVER registriert.Parallel nutzen wir ältere CATIA-Releases (R16 / R14) für schwierige alte Datenbestände.Sobald ein altes Release geöffnet wurde, verliert R18 die Registrierung und bringt beim Starten des .catvba-Makros die Fehlermeldung ScriptingERR_1143: (...)The VBA hosting application is not correctly regitered(...)Dies ist nur durch d ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Disassemble automatisieren
CoolEagle am 11.11.2011 um 09:13 Uhr (0)
Hallo Rick,nein, mit Call funktioniert es leider auch nicht.Sleep funktioniert mit und ohne Call,DoEvents geht nicht mit Call, weder mit, noch ohne "()" hinter dem DoEvents,und bei SetForegroundWindow macht es keinen Unterschied ob mit oder ohne Call, leider...Du bist eher in .NET unterwegs und weniger in Catia, oder? Vielleicht ist das mal wieder eine Catia-Eigenheit?
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Disassemble automatisieren
CoolEagle am 08.11.2011 um 18:45 Uhr (0)
Hallo Henry,danke für Deine Antwort.Ich habe das bei mir mal ausprobiert, aber es funktioniert leider nicht. Und wo du sagst UAC: ich habe Win7 64bit laufen.Aber nichts desto trotz verzweifle ich gerade ein bisschen. Ich habe weiter geforscht. Folgendes macht bei mir keinen Unterschied:wshShell.SendKeys "{ENTER}"call wshShell.SendKeys ("{ENTER}", True)Aber das war noch lange nicht alles. Ich habe das Gefühl, dass Catia mir mit seiner Makro-Ausführung mal wieder einen Streich spielt, denn:Code:Set WshShell ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Disassemble automatisieren
CoolEagle am 09.11.2011 um 15:31 Uhr (0)
Das wird immer verrückter... Habe ein CATVBA angelegt, das ich über ein selbst angelegtes Symbol in der Symbolleiste starte.Code:Set WshShell = CreateObject("WScript.Shell")CATIA.Application.StartCommand ("Disassemble")For i = 1 To 100000000 Pause erzwingenNextWshShell.SendKeys "{ENTER}"WshShell.SendKeys "bla"WshShell.SendKeys "^{ESC}" STRG+ESC = Startmenue oeffnenFor i = 1 To 100000000 Pause erzwingenNextWshShell.SendKeys "Text"Auf dem Bildschirm passiert dann folgendes:1. Pause2. Startmenü öffne ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Disassemble automatisieren
CoolEagle am 10.11.2011 um 15:54 Uhr (0)
Hallo Rick,danke nochmal für Deine ausführliche Antwort.Ich glaube da gab es ein kleines Missverständnis. Ich wollte gar nicht dass du auf die Details wie "Public" & Co. ein gehst, weil ich mir das (was mir fehlt) selbst erarbeiten möchte. Das Neue an den Themen war hauptsächlich der Zugriff auf Systemfunktionen, bisher war ich meist nur innerhalb von Catia unterwegs. Ausserdem wollte ich mich hier auf das Kernproblem konzentrieren. Aber nun genau dazu:Nach Anpassung an Catia-Eigenheiten habe ich Dein Scri ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Disassemble automatisieren
CoolEagle am 11.11.2011 um 08:38 Uhr (0)
Hallo Rick,habe nochmal weiter getestet und habe die Pausen auch an unterschiedlichen Stellen eingesetzt, leider ohne Erfolg. Aber einen Schritt bin ich weiter:Wenn ich das Script aus dem CATVBA-Editor starte, gibt das SetForegroundWindow ein True zurück und alles funktionert.Wenn ich das Script aus Catia heraus über das Symbol starte, gibt das SetForegroundWindow ein False zurück.Danach habe ich noch ein AllowSetForegroundWindow mit der PID von Catia probiert. Aber auch hier das gleiche Ergebnis, und das ...
|
In das Form CATIA V5 Programmierung wechseln |