| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | Altair ernennt MAIT zum Channel Partner für DACH, Benelux und Liechtenstein, eine Pressemitteilung
|
Autor
|
Thema: Path und Classpath für jlink setzen (2793 mal gelesen)
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 14. Jul. 2006 11:41 <-- editieren / zitieren --> Unities abgeben:         
Hi, ich hab jetzt hier schon ne Menge Beiträge gewälzt, aber irgendwie noch nichts genaues gefunden. Wo setze ich unter Linux und Windows die Systemvariablen Path und Classpath, um mit ProE und jlink zu arbeiten und wenigstens erstmal die mitgelieferten Beispiele testen zu können? Bis jetzt kann ich zwar die Hilfsapplikation install_test in ProE registrieren, aber bei Starten passiert dann rein gar nix. Das liegt doch sicher an den Systemvariablen, oder? Danke. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GüntherP Mitglied CAD Administrator / Konstrukteur

 Beiträge: 82 Registriert: 18.02.2005 HP xw4100 NVIDIA Quadro 980XGL<P>Wildfire 2.0 / 3.0 Intralink 3.4 F000 PDMLink 8.0 M030
|
erstellt am: 14. Jul. 2006 12:08 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, ich setzte den Classpath in der protk.dat Datei. Hier ist ein Beispiel, wie man einen Classpath setzten kann: java_app_classpath d:\ptc\proeWildfire2.0\text\java\pfc.jar Wenn man noch eigene Java Archive oder Klassen dazuhängen möchte, einfach mit einem ";" trennen und weiterschreiben. Gruß, Günther Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 14. Jul. 2006 12:13 <-- editieren / zitieren --> Unities abgeben:         
|
michaeln Mitglied Konstrukteur
  
 Beiträge: 834 Registriert: 07.10.2002 WF2 M250, ProI 3.4 M030 Inventor 11 SP4 WinXP-x64 SP2, Ubuntu 8.10
|
erstellt am: 14. Jul. 2006 12:47 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, eine protk.dat kannst du z.B. im Verzeichnis text ablegen. Wie das mit den Variablen aussehen, kann findest du hier: http://ww3.cad.de/foren/ubb/Forum12/HTML/001334.shtml Ich setzte Variablen in einem Startscript (die *.psf-datei im Bin-Verzeichnis tuts auch), eine protk.dat ist ja eigentlich nicht der richtige Platz dafür. Gruß Michael P.S.: Über die Suchfunktion findet man mit den Stichwörtern "protk" und "jlink" eine Menge. [Diese Nachricht wurde von michaeln am 14. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fussel Mitglied

 Beiträge: 39 Registriert: 08.02.2002 Pro|E Wildfire2.0 (Student) Windows 2000 SP4 AMD Athlon XP 2600+ ATI FireGL 8800 1024 MB RAM
|
erstellt am: 14. Jul. 2006 16:37 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, ich setze in der config.pro den pfad zur protk.dat. Somit muss ich nicht laufend im .../ProE/text Verzeichnis rumfummeln, sondern ich kann die protk.dat selbst verwalten. Der config.pro Eintrag lautet: protkdat DeinLaufwerk:\Dein\Pfad\zur\protk.dat Sobald eine JLink Applikation gestartet wird, setzt Pro/E meines Wissens automatisch den Classpath zur ...\pfc.jar. Ich setze jedenfalls nur den CP fuer meine jeweiligen Applikationen in der protk.dat und sonst nichts. Dann laufen die Dinger einwandfrei. Ueber das Menue "Fenster -> Systemfenster oeffnen" und den Befehl "set classpath" kann man sehen, welchen CP Pro/E (und nur Pro/E!) gerade benutzt. Gruss Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
achulio Mitglied

 Beiträge: 98 Registriert: 24.03.2003 Pro/Engineer Wildfire 2 CATIA V5 R16 Windows XP Professional Pentium 4M
|
erstellt am: 17. Jul. 2006 15:02 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Aufpassen, mit welcher Version der Java Runtime Environment du arbeitest. ProE liefert da selbst eine JRE (irgendwo im Verzeichnisbaum) mit, aber wenn du mit einer höheren Version kompilierst (z.B. die Beispielanwendung), führt ProE diese nicht aus und schmiert einfach ab  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 17. Jul. 2006 15:17 <-- editieren / zitieren --> Unities abgeben:         
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 18. Jul. 2006 10:21 <-- editieren / zitieren --> Unities abgeben:         
So, da ich unter Unix arbeite habe ich nunmal wie folgt den Classpath in der /etc/bash.rc gesetzt: export CLASSPATH=$CLASSPATH export CLASSPATH=$CLASSPATH/usr/local/.../java/pfc.jar export CLASSPATH=$CLASSPATH/usr/local/.../java/pfcasync.jar
In der Konsole erhalte ich nach echo $CLASSPATH auch die beiden Einträge, jedoch hintereinander weg geschrieben. Ist das nun korrekt eingebunden - wie kann ich das testen? Im Eclipse, bei "import com.ptc.pfc.*;" passiet allerdings nichts, ausser dass der Import von com... nicht erfolgen kann und er kennt auch die Packages nicht! Also ist doch wohl der CLASSPATH irgendwie falsch gesetzt, oder greift Eclipse gar nicht auf die Variable drauf zu??? ...ich weiß mittlerweile nix mehr Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fussel Mitglied

 Beiträge: 39 Registriert: 08.02.2002 Pro|E Wildfire2.0 (Student) Windows 2000 SP4 AMD Athlon XP 2600+ ATI FireGL 8800 1024 MB RAM
|
erstellt am: 18. Jul. 2006 13:37 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, zunächst folgendes: es ist meiner Erfahrung nach keine gute Idee die pfc.jar UND die pfcasync.jar gemeinsam in den CP zu setzen. Das führt zu abschmierenden Pro/E Sessions und nicht ausführbaren JLink Apps. Daher handhabe ich den CP fuer die pfc.jar so wie schon oben beschrieben und setze die pfcasync.jar nur in das startscript der asynchronen Applikation (wenn ich denn eine ausführen möchte). So habe ich zwar immer noch Probleme eine synch. und eine asynch. Applikation gleichzeitig laufen zu lassen, aber wenigstens laufen die Applikationen für sich (nur synch. oder nur asynch.) ohne Probleme. Ist etwas verwirrend und vielleicht bin ich selbst auch auf dem Holzweg, aber immerhin laufen meine Apps. So, jetzt zu Eclipse (auch wenn das kein Eclipse Forum ist, aber diese IDE ist vermutlich eines der besten Tools zum JLink entwickeln). Da du ja mittlerweile den Pfad zu deinen pfc...jar Bibliotheken kennst, musst du diese (natuerlich wieder je nach synch. ODER asynch.) nur noch in den sog. "Build Path" aufnehmen. Dafür in Eclipse RMB auf dein Projekt -> Build Path -> Add external archives ODER Add library. Fürs erste dürfte "Add external archives" reichen. Wenn du mehrere Projekte entwickeln willst bietet es sich an, eine "User Library" zu definieren. Die ist dann immer wieder schnell zu einem Projekt hinzugefügt. Ich hoffe das war nicht zu ausschweifend. Gruß Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 19. Jul. 2006 07:43 <-- editieren / zitieren --> Unities abgeben:         
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 19. Jul. 2006 16:11 <-- editieren / zitieren --> Unities abgeben:         
Nachtrag für JLink-Auskenner: Habe ein winziges Programm geschrieben, welches mir den Startpfad von ProE ausgeben soll - mehr nicht! Ich binde das über Tools/Hilfsapplikation ein und starte - dann sehe ich die Sanduhr rattern und dann kehrt ProE wieder in den Ausgangszustand zurück, ohne dass irgendetwas weiter passiert. Im dem Applikationsfenster steht auch permanent, dass das Programm nicht ausgeführt wird! Mh, wieso denn nur??? Code Applikation:
Code:
import com.ptc.cipjava.*; import com.ptc.pfc.pfcGlobal.*;public class jlink_test{ public static void start() { try { stringseq argseq = pfcGlobal. GetProEArguments(); String val = argseq.get(1); System.out.println("Full path to Pro/E executable: "+ val); } catch(jxthrowable x) { System.out.println(x); } } public static void stop() { } }
...und hier noch die entsprechende protk.dat:
Code:
name JlinkTeststartup java java_app_class jlink_test java_app_start start java_app_stop stop allow_stop true delay_start true end
Mehr isses nicht und ich kanns mir auch nicht erklären, warum das Teil nicht läuft. Also, wer sich bisl auskennt, kann mir ja mal einen Tip geben Vielen Dank. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 20. Jul. 2006 00:53 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
1.Steht irgendwas in std.out bzw. std.err 2. Und wie sieht es aus wenn Du das Beispiel exakt übernimmst? Die java-Datei sollte auf deiner Festplatte sein 3. Setze dich mal auch mit dem Pro/E Arbeitsverzeichnis direkt auf den Ordner, in dem deine class-Datei liegt. HTH ------------------ Servus Alois Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 20. Jul. 2006 08:16 <-- editieren / zitieren --> Unities abgeben:         
Hi, 1. std.out beinhaltet folgendes:
Code:
License request failed for feature PROE_3266914: 51: Fatal licensing error: No valid license servers available. $ADMwildfire/config/stueckliste.bom does not exist. Using system default. $ADMwildfire/config/din.dtl does not exist. Using system default. $ADMwildfire/config/din.dtl does not exist. Using system default. ERROR - c:\ptc\proewildfire\text\config.pro, linenum 103: Keyword 'NEW_DRAWING_VIEW_UI' is not valid. ERROR - c:\ptc\proewildfire\text\config.pro, line 412: No space between values. ERROR - c:\ptc\proewildfire\text\config.pro, linenum 413: Keyword 'TRAVERSE' is not valid. ERROR - c:\ptc\proewildfire\text\config.pro, line 414: No space between values. WARNING - c:\ptc\proewildfire\text\config.pro, linenum 121039448: Configuration file parameter 'TRAIL_DIR' can not be reset. The 'selflt' toolbar no longer exists (file c:\ptc\proewildfire\text\config.win).
2.Die Java-Datei ist direkt auf meiner Festplatte. Wie, das Beispiel exakt übernehmen??? ...das ist doch mein Quellcode den ich benutze?! 3.Arbeitsverzeichnis liegt auf dem Ordner, in dem die class-Datei ist. --> bringt alles irgendwie keinen Erfolg Die Ausgabe über System.out.println(...), wo würde die überhaupt in ProE erscheinen? EDIT: Die Errormeldungen habe ich schon beseitigt - hat aber eigentlich nix mit meiner Applikation zu tun!
[Diese Nachricht wurde von magic_halli am 20. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 20. Jul. 2006 09:57 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
So sieht die Datei ProEArgumentExample.java /****************************************************************************\ Date Version Author Build 19-Apr-00 J-01-05 Eshwar $$1 Created. \****************************************************************************/ /****************************************************************************\ File: ProEArgumentExample.java
A sample file that shows the use of the GetProEArguments method of J-link to access the Pro/ENGINEER command line arguments. The first argument is always the full path to the Pro/E executable. In this application the second argument can be either "+runtime" or "+development" and the third argument can be either "-Unix" or "-NT". Based on these values 2 boolean variables are set and passed on to another method which makes use of this information. \****************************************************************************/ package com.ptc.jlinkexamples; import com.ptc.cipjava.*; import com.ptc.pfc.pfcGlobal.*; public class ProEArgumentExample { public static void start() { try { boolean unix; boolean runtime; /* * Getting the arguments! */ stringseq argseq=pfcGlobal.GetProEArguments(); /* * Making sure that there are 3 arguments. */ int size=argseq.getarraysize(); if (size == 3) { /* First argument is Pro/E executable */ String val=argseq.get(1); /* * Setting boolean variable runtime based * on value after making sure that it is * one of the 2 specified values. */ if (val.equalsIgnoreCase("+runtime")) { runtime=true; } else if (val.equalsIgnoreCase("+development")) { runtime=false; } else { printMsg("Invalid second argument"); return; } /* * Setting boolean variable unix based * on value after making sure that it is * one of the 2 specified values. */ val=argseq.get(2); if (val.equalsIgnoreCase("-Unix")) { unix=true; } else if (val.equalsIgnoreCase("-NT")) { unix=false; } else { printMsg ("Invalid third argument"); return; } /* * Pass the boolean values to the method * where they are used for some application. */ runApplication(runtime,unix); } else { printMsg("Invalid number of arguments"); } } catch(jxthrowable x) { printMsg("Exception in getting session:"+x); } } public static void runApplication(boolean rtime, boolean unix) { /*Application code goes here....*/ } public static void stop() { } public static void printMsg(String str) { System.out.println(str); } } ------------------ Servus Alois Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fussel Mitglied

 Beiträge: 39 Registriert: 08.02.2002 Pro|E Wildfire2.0 (Student) Windows 2000 SP4 AMD Athlon XP 2600+ ATI FireGL 8800 1024 MB RAM
|
erstellt am: 21. Jul. 2006 02:03 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo magic_halli, so wird das nix. Obwohl wir weiter oben die Geschichte mit dem CLASSPATH geklärt haben taucht er nicht in deiner Registrierungsdatei auf. Deine Testapplikation kann natürlich keine Ausgabe haben. Immerhin schreibst du selbst:"Die Ausgabe über System.out.println(...), wo würde die überhaupt in ProE erscheinen?". Die Antwort: nirgendwo! Deine Registrierungsdatei erfüllt ja gerade den Zweck, eine JLink Applikation beim Start von Pro/E auszuführen. Da musst du nicht zusätzlich in den Tools/Hilfsapplikationen herumfummeln. Ich nehme mal an, dass du mittlerweile ein wenig gefrusted bist. Gib JLink aber noch eine Chance! Du musst nur genau hinsehen und selbst die einfachsten "Testapplikationen" genau planen. Damit du es etwas einfacher hast habe ich mal was zusammengefrickelt: Die Applikation soll eine neue Baugruppe erzeugen und anzeigen, bitteschön. %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< import com.ptc.cipjava.jxthrowable; import com.ptc.pfc.pfcAssembly.Assembly; import com.ptc.pfc.pfcGlobal.pfcGlobal; import com.ptc.pfc.pfcSession.Session; import com.ptc.pfc.pfcWindow.Window; public class JlinkTest { public static void start() { try { Session curSession = pfcGlobal.GetProESession(); // ProE Session initialisieren Assembly asm = curSession.CreateAssembly("Baustelle"); // neue Baugruppe erzeugen Window wnd = curSession.CreateModelWindow(asm); // neues Modellfenster erzeugen wnd.Activate(); // das Modellfenster aktivieren } catch (jxthrowable e) { e.printStackTrace(); // Auto-generated catch block } } public static void stop() { } } %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< Die Klasse legst du in ein Verzeichnis deiner Wahl! So, jetzt binden wir die Applikation noch ein, dafür sieht die protk.dat aus wie folgt: %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< name JlinkTest startup java java_app_class JlinkTest java_app_classpath \Verzeichnis\in\dem\deine\Klasse\liegt\dabei\den\slash\am\Ende\nicht\vergessen\;\und\von\mir\aus\auch\der\pfad\zur\pfc.jar java_app_start start java_app_stop stop allow_stop false delay_start false end %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< Jetzt starte mal Pro/E. Ich Hoffe es passiert was. Gruß Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bilch Mitglied

 Beiträge: 78 Registriert: 01.02.2005
|
erstellt am: 24. Jul. 2006 07:27 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
|
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 24. Jul. 2006 12:08 <-- editieren / zitieren --> Unities abgeben:         
@fussel: Vielen Dank für Deine Antwort! Ich werde mich, nachdem ich das System hier wieder in Ordnung gebracht habe, gleich ans ausprobieren machen... Das ist ja mal ne gescheite ToDo, wo ich hoffentlich mit Jlink mal etwas Land sehe @bilch: gut beobachtet! Dieser Fehler is hoffentlich nachher (nach Neuinstallation ) entgültig Vergangenheit. Hier passieren schon seltsame Dinge... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fussel Mitglied

 Beiträge: 39 Registriert: 08.02.2002 Pro|E Wildfire2.0 (Student) Windows 2000 SP4 AMD Athlon XP 2600+ ATI FireGL 8800 1024 MB RAM
|
erstellt am: 24. Jul. 2006 13:44 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo magic_halli, bevor du erneut wegen des "PRO_JAVA_COMMAND" dein Betriebssystem gegen die Wand fährst (was bilch uns gepetzt hat  ), versuch doch mal alternativ das Java Kommando in der config.pro zu setzen. Bei mir sieht das dann so aus: ! -> entweder für produktive Umgebungen (Systemvariable %PATH% muss auf ...\jre\bin\ zeigen) ! jlink_java_command java ! -> oder für Enticklungsumgebungen (remote debugging) jlink_java_command C:\Programme\Java\jdk1.5.0_04\bin\java.exe -classic -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n Wie du siehst definiert dieser config-Eintrag das Java Kommando, welches man auch in der Shell (bei mir Windows/CMD) verwenden würde, um eine ordinäre Java App. laufen zu lassen. Interessant wird es beim remote debugging. Bei der Entwicklung von Apps. benutze ich immer das Java Kommando mit diesem Rattenschwanz von Parametern. Das lässt dann die Verwendung eines externen Debuggers (JSwat, Eclipse) zu. Schau mal hier http://linuxdevices.com/articles/AT6046208714.html wie man grundsätzlich mit der remote debugging Funktion von Eclipse umgeht (meiner Meinung nach eine sehr edle Funktion). Dann kannst du dir meiner Meinung auch den Quatsch mit dem ...implementation.starter sparen. Gruß Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 25. Jul. 2006 13:15 <-- editieren / zitieren --> Unities abgeben:         
@fussel: geil, geil, geil Ich hab eine Application nach Deinem Codebeispiel zusammengebastelt - und endlich geht mal was mit Jlink!!! Jetzt komme ich hoffentlich mal bisl voran... Allerdings startet die App nicht von allein, nachdem ProE startet, sondern ich muss den Weg über Tools/Hilfsapplikationen usw. gehen. Aber das is mir im Moment erstmal rille - hauptsache das Ding läuft erstmal. Da is wohl doch noch was mit dem Classpath nicht richtig?! Nochwas: mit welcher Funktion kann ich mir in ProE ganz einfache Texte ausgeben lassen (analog System.out.println)? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anagl Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4566 Registriert: 28.05.2001 CREO2 M140 PDMLink 10.2 M020 HW diverse Das Schreiben bei CAD.de ist freiwillig und kein Muss !!!!!
|
erstellt am: 25. Jul. 2006 16:11 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Zitat: Original erstellt von magic_halli: Allerdings startet die App nicht von allein, nachdem ProE startet, sondern ich muss den Weg über Tools/Hilfsapplikationen usw. gehen. Aber das is mir im Moment erstmal rille - hauptsache das Ding läuft erstmal. Da is wohl doch noch was mit dem Classpath nicht richtig?!Nochwas: mit welcher Funktion kann ich mir in ProE ganz einfache Texte ausgeben lassen (analog System.out.println)?
1.zum automatischen Start Eintrag evtl Eintrag in die config.pro 2.Message Swing-Komponenten einbinden z.B JOptionPane.showMessageDialog etc. HTH ------------------ Servus Alois Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fussel Mitglied

 Beiträge: 39 Registriert: 08.02.2002 Pro|E Wildfire2.0 (Student) Windows 2000 SP4 AMD Athlon XP 2600+ ATI FireGL 8800 1024 MB RAM
|
erstellt am: 25. Jul. 2006 16:46 <-- editieren / zitieren --> Unities abgeben:          Nur für magic_halli
Hallo, dass die App nicht von alleine startet haengt vielleicht mit deiner protk.dat zusammen. Zieht er die auch an? Steht vielleicht delay_start auf true? Stimmen die Pfade in der protk.dat? Die Textausgabe in der Pro/E Mitteilungszeile erfolgt ueber die Funktion UIDisplayMessage. Die direkte Anwendung ist aber fummelig, so dass ich mir eine kleine Hilfsklasse gebastelt habe, welche den Zugriff auf die UIDisplayMessage Methode erleichtert. Das ist doch ne nette Uebung fuer den Anfang . Ansonsten kann ich auch nur die Swing Geschichte empfehlen. Gruss Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
magic_halli Mitglied
 
 Beiträge: 361 Registriert: 03.07.2006 WF2 M210 / WF3 M110 Linux Fedora C4 WinXP Pro Java 1.6.0_06
|
erstellt am: 27. Jul. 2006 15:41 <-- editieren / zitieren --> Unities abgeben:         
So, also mit IUMessageDisplay hab ich bisl was hinbekommen. Aber manche Sachen werden irgendwie nicht angezeigt. Nun kann das evtl. auch an meinem Quelltext liegen?! Also dachte ich mir, lasse ich doch einfach mal alles in eine Textdatei schreiben, die sich im .class-Verzeichnis befindet! Nur wird in diese Datei nie was reingeschrieben... nichtmal ein fest definierter String!!! Wie das??? Code:
public static void start(){ curSession = pfcGlobal.GetProESession(); model = curSession.GetCurrentModel();String filename = model.GetFileName(); //filename in Datei schreiben - nichts passiert!!! String out = filename; byte array[] = out.getBytes(); OutputStream fos = new FileOutputStream("test.txt"); fos.write(array); fos.close(); //filename in ProE ausgeben - funktioniert ohne Probleme!!! curSession.UIDisplayMessage(filename,null,null); ... }
Hm, ich weiß nicht warum das nicht geht... Liegt das vielleicht an ProE selbst(kann ich mir aber nicht vorstellen)!? Gruß Rico. [Diese Nachricht wurde von magic_halli am 27. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |