Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Mehrere Funktionen in einem Makro

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Mehrere Funktionen in einem Makro (798 mal gelesen)
BettinaRauch
Mitglied
BA-Studentin, Fahrzeug-System-Engineering


Sehen Sie sich das Profil von BettinaRauch an!   Senden Sie eine Private Message an BettinaRauch  Schreiben Sie einen Gästebucheintrag für BettinaRauch

Beiträge: 65
Registriert: 06.07.2009

Catia V5 R19

erstellt am: 05. Aug. 2009 08:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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)


Sehen Sie sich das Profil von V5Playaz an!   Senden Sie eine Private Message an V5Playaz  Schreiben Sie einen Gästebucheintrag für V5Playaz

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BettinaRauch 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BettinaRauch 10 Unities + Antwort hilfreich

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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


Sehen Sie sich das Profil von BettinaRauch an!   Senden Sie eine Private Message an BettinaRauch  Schreiben Sie einen Gästebucheintrag für BettinaRauch

Beiträge: 65
Registriert: 06.07.2009

Catia V5 R19

erstellt am: 05. Aug. 2009 09:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BettinaRauch 10 Unities + Antwort hilfreich

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz