Autor
|
Thema: Mehrere Funktionen in einem Makro (798 mal gelesen)
|
BettinaRauch Mitglied BA-Studentin, Fahrzeug-System-Engineering
Beiträge: 65 Registriert: 06.07.2009 Catia V5 R19
|
erstellt am: 05. Aug. 2009 08:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, da die letzten Einträge von mir alle nicht beantwortet wurden, hoffe ich dass sich mit meinem jetzigen Problem mal wieder jemand auskennt: Hab ein Makro (VBScript) mit zwei Funktionen geschrieben. Also: -------------------------------------------------- Sub CATMAin () Function 1 ... Function 2 ... If ... Then Function 2 Else ... End If End Sub Function 1 ... End Function Function 2 ... End Function -------------------------------------------------- Jetzt ist es leider so, dass das Makro die zweite Funktion überhaupt nicht mehr durchläuft. Mit einer Funktion funktioniert alles, nur nicht mit zwei. Hat jemand ne Idee, woran das liegen könnte? Gruß Betty Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 05. Aug. 2009 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für BettinaRauch
Entweder du stellst ein wenig mehr Code bereit, um das Problem weiter einzugrenzen. Oder du programmierst mit z.B. VB 2008 um den Code per Einzelschritt zu durchlaufen und so auf den Fehler zu stoßen. grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 05. Aug. 2009 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für BettinaRauch
Hallo Bettina, ich gebe da Dominik vollkommen recht. Wir brauchen schon den Code um dir zu sagen was du schief läuft. So kann niemand sagen an was es den überhaupt liegen könnte. Für ein Step-by-Step Debugging brauchst du kein VB 2008 sondern kannst den internen CATVba Editor nehmen. Dann die Variablen und Objekt überwachen und schaun was schief läuft ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 05. Aug. 2009 09:22 <-- editieren / zitieren -->
Hallo Bettina, eine Function darf nicht innerhalb einer Function oder Sub definiert werden. so funktioniert es Language="VBSCRIPT" Sub CATMain() Summe1 = Addition(a, b)
Produkt = Multiplikation(a, b)
If Summe < 10 Then a = a + 2 Produkt2 = Multiplikation(a,b) else Msgbox "a > 10" End IF End Sub Function Addition(c, d)
Addition = c + d End Function Function Multiplikation(c,d) Multiplikation = c * d End Function ------------------ mb |
BettinaRauch Mitglied BA-Studentin, Fahrzeug-System-Engineering
Beiträge: 65 Registriert: 06.07.2009 Catia V5 R19
|
erstellt am: 05. Aug. 2009 09:41 <-- editieren / zitieren --> Unities abgeben:
Hallo, Danke für eure Antworten. Habe meinen Fehler inzwischen gefunden (sag euch lieber nicht, was es war - zu peinlich). Der Hinweis von marbat war auf jeden Fall nicht ganz verkehrt. Auf jeden Fall funktioniert es jetzt so, wie es soll und ich versteh auch warum. Sorry noch, dass ich euch den Code nicht komplett gepostet hab. Das Ding ist aber inzwischen ziemlich lang. Hab einfach gehofft, dass mir irgendjemand auch so was sagen kann, weil er sich auch schon mal mit so nem Problem rumgeschlagen hat. Versteh aber natürlich, dass das nicht immer machbar ist. Das mit dem VBA-Editor hört sich ja eigentlich nicht schlecht an, aber dann müsste ich ja zuerst das VBScript in VBA umprogrammieren, oder? Ist das arg aufwendig, arg anders? Hab bis jetzt eigentlich nur Erfahrung mit VBScript und die Bücher, die ich hab, beschäftigen sich auch hauptsächlich damit. Hab auch schon im Internet gesucht. Hab bis jetzt nur gefunden, dass die zwei Sprachen ähnlich sind, aber wo liegen genau die Unterschiede? Irgendwo steht auch, dass VBA schneller ist, weil nicht alles kompiliert wird. Stimmt das? Gruß Betty
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 05. Aug. 2009 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für BettinaRauch
Hallo Bettina, der Syntax von CATVba und CATScript ist zu 99% identisch. Es gibt in CATVba "restriced Functions" die nicht aufgerufen werden können wenn das Objekt nach CATIA Deklaration deklariert wird (ein Beispiel ist das "dimmen" einer Selektion und der Aufruf der Methode SelectedElement2). Trotzdem kannst du alle Funktionen nutzen. Wenn du ein CATScript hast kannst du dieses in der Regel einfach in eine neue CATVba Library kopieren und verwenden (umgekehrt natürlich auch (mit Ausnahmen)). Der Vorteil von CATVba ist halt die komplette API-Anbindung. Sprich du kannst dir alle erdenklichen Namespaces importieren und nutzen. (Beispiel => versuche mal mit einem CATscript eine FolderSelection ala Windows hinzubekommen...das geht nicht...über die Scripting Runtime kannst du das aber ganz einfach mit CATvba machen ) Ein weiterer riesen Vorteil (vorallem für Anfänger im Bereich Programmierung) ist halt das Step-byStep Debugging in Zusammenspiel mit den Watches. Hier kann jede einzelnen Variable und jeder Objekt überwacht werden und man sieht sofort wo die Fehler sind (z.B. Wert einer Variable ist leer weil Rechtschreibfehler, etc.) ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|