Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  CNEXT mit Makro starten, Return Code ändern?

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co.
  
Mit der Kisters 3DViewStation komplexeste 3D CAD-Daten beherrschen, eine Pressemitteilung
Autor Thema:  CNEXT mit Makro starten, Return Code ändern? (2372 mal gelesen)
NoobCat
Mitglied


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

Beiträge: 7
Registriert: 09.12.2009

erstellt am: 02. Sep. 2011 15:32    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 zusammen,

wir entwickeln eine .NET-Applikation, die V5 um diverse Funktionalitäten erweitert. Nun wollen wir diese Applikation in einem Fully Integrated Build automatisiert bauen und vor allem per Unit-Tests testen lassen.

Dazu haben wir uns folgendes Szenario ausgedacht:
1. CNEXT.exe wird im Macro-Modus gestartet und führt ein CATScript aus

2. Das CATScript startet eine kleine CAA-Erweiterung, die die .NET-Runtime initialisiert, unsere Applikation startet und darin eine RunTests() Methode aufruft:

Dim utils As AddInUtilities
Set utils = CATIA.GetItem("MyAddInUtilities")
utils.Execute CATIA.SystemService.Environ("MyLib"), "MyApplication.InteropApplication", "RunTests"


3. RunTests() initialisiert nun das NUnit-Framework um die Tests laufen zu lassen

4. Danach wird per CATIA.Quit() alles wieder geschlossen.

Soweit funktioniert auch alles. Allerdings würden wir nun gerne automatisiert auswerten können, ob die Tests erfolgreich waren. Dazu wäre es am Besten, wir könnten den Exit Code von CNEXT ändern, sobald ein Test schiefging.

Frage: gibt es irgend eine Möglichkeit, den Exit Code von CNEXT zu verändern, entweder im CATScript oder im CAA-Teil?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

meisterlumpi
Mitglied



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

Beiträge: 118
Registriert: 15.04.2011

Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64

erstellt am: 05. Sep. 2011 17:56    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 NoobCat 10 Unities + Antwort hilfreich

Hallo
ist ne interessante frage. bin kein programmierer, daher lasse ich mich gern eines besseren belehren, doch ich behaupte mal den return code, bzw. das errorlevel des programms kann man nicht einfach ändern wenn man keinen zugang zum quelltext hat.
die idee war jetzt eine neue umgebungsvariable vorm catia start anzulegen mit

SETX CAT_ERROR "false"

z.b. und diese beim auftreten eines fehlers im skript auf true zu setzten, so dass man sie nachdem schließen von catia wieder auslesen kann. das funktioniert allerdings nicht..

was man noch versuchen könnte ist eine .ini datei anzulegen, wieder vorm catia start. dann nach dem selben prinzip wie oben einen wert in die datei schreiben wenn ein fehler auftritt. nach dem beenden von catia kann man dann die ini wieder auslesen und nachschauen ob ein fehler aufgetreten ist.

------------------
NJ | Inoffizielle CATIA Hilfeseite | ???

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RSchulz
Ehrenmitglied V.I.P. h.c.
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 05. Sep. 2011 18:26    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 NoobCat 10 Unities + Antwort hilfreich

Hallo,
poppt denn ein Fehler hoch, der dann wieder geschlossen wird?

Du kannst nämlich durchaus einen von CATIA hochgepoppten Fehler auslesen, indem du diese Fehlerfenster fängst und den Inhalt ausliest.

Eine weitere Idee wäre, mit der Environmentvariable "CNEXTOUTPUT=console" die Console zu aktivieren und den darin befindlichen Inhalt vor dem Schließen von CATIA auszulesen. Das sollte eigentlich möglich sein... Die Frage ist nur, welche Fehler und ob überhaupt diese Fehler hier auch erfasst werden.

Den Returncode von CATIA zu ändern  ich habe selten so gut gelacht. Ohne Quellcode, den du von DS bestimmt nicht erhalten wirst, geschweige denn die mrd. Zeilen auch verstehen kannst, wird so tief in dem Programm nichts gehen. Solange es keine API dafür gibt wird das nicht gehen.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RSchulz
Ehrenmitglied V.I.P. h.c.
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 05. Sep. 2011 18:31    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 NoobCat 10 Unities + Antwort hilfreich

Mal noch eine ganz andere Frage... Wieso ist es denn nicht möglich dem Testcode direkt eine Fehleranalyse mitzugeben? Du kannst a. theoretisch jede Programm Zeile mit einem Try-Catch abfangen und auswerten und b zB Funktionen prüfen oder auf angelegte Features etc. prüfen und vergleichen.

Vll. erzählst du mal etwas mehr, was genau du prüfst und abfragen möchtest etc. dann kann man dir vll. auch fernab von der eigentlichen Fragestellung einen ganz anderen hilfreichen Tipp geben.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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)2025 CAD.de | Impressum | Datenschutz