| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
| NX CAD Intensivkurs (Crashkurs) |
Autor
|
Thema: UG Open externe Programme (2884 mal gelesen)
|
Rainer1 Mitglied NX Administration
Beiträge: 158 Registriert: 12.06.2002
|
erstellt am: 04. Jun. 2003 15:44 <-- editieren / zitieren --> Unities abgeben:
Hallo ich hab ne Frage zu externen UG Open Programmen. Bei mir laufen die nur im UG Command Prompt. In einer normalen DOS Shell nicht, da findet das Programm einige Bibliotheken anscheinend nicht. Frage: Kann ich die EXE so schreiben, das sie ohne Command Prompt läuft? Ich denk mir das ich sonst spätestens dann ein Problem bekomm, wenn ich die EXE aus einem anderen Programm aus starte.(Benutzerschnittstelle!) Wie löst Ihr das? Gruß und Danke
Rainer
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefan.f Mitglied
Beiträge: 123 Registriert: 03.09.2002
|
erstellt am: 05. Jun. 2003 07:06 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer1
Die Unigraphics Librarys (z.B. libufun.dll) müssen sich in einem Verzeichnis befinden, welches in der Umgebungsvariable path definiert wurde. Oder sie müssen sich im gleichen Verzeichnis wie das Programm selber befinden, sonst findet Windows die DLL's nicht. Also entweder das UGII-Verzeichnis in die Umgebungsvariable mit aufnehmen, oder dein Programm nach UGII kopieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer1 Mitglied NX Administration
Beiträge: 158 Registriert: 12.06.2002
|
erstellt am: 05. Jun. 2003 07:11 <-- editieren / zitieren --> Unities abgeben:
|
Thomas Röhrig Mitglied
Beiträge: 189 Registriert: 14.07.2001
|
erstellt am: 05. Jun. 2003 17:15 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer1
|
Rainer1 Mitglied NX Administration
Beiträge: 158 Registriert: 12.06.2002
|
erstellt am: 06. Jun. 2003 07:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas Dann hab ich doch das Problem das ich das Verzeichnis der Batch fest verdrahten muß bzw dem Programm als Parameter mit übergeben. Ich hätte aber gern das ich vorher nicht überlegen muß in welches Verzeichnis ich mein Programm lege und mit den Parametern wollte ich eigentlich auch sparen. Gut, es gäbe noch die Möglichkeit eine Umgebungsvariable zu setzen in der der Pfad der Batch steht. Wobei, Grad fällt mir ein das ich bei externen UG Programmen getcwd noch nicht ausprobiert hab. Da müsste doch eigentlich der Pfad des Programms zuurückgegeben werden. Muß ich mal aussprobieren... Gruß und Danke für den Denkanstoß Rainer
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
berberic Mitglied Software-Developer
Beiträge: 113 Registriert: 04.02.2003 Don't worry be happy. Michael
|
erstellt am: 16. Jun. 2003 23:18 <-- editieren / zitieren --> Unities abgeben: Nur für Rainer1
Hallo Rainer, ich rufe die meisten externen UG/Open-Programme üeber eine Batch- Datei auf, die eine entsprechende Umgebungs-Initialisierung für das auszuführende Programm vornimmt. Wenn die Batch-Datei und das externe UG/Open-Programm im gleichen Verzeichnis liegen, dann lässt sich das Programm über die Batch-Datei, auch ohne Erweiterung der PATH-Variablen, direkt starten. Wenn erforderlich erweitert die Batch-Datei den Pfad entsprechend der aktuellen UGII_BASE_DIR Variablen. Ich hoffe das hilft Dir weiter. Gruß Michael
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer1 Mitglied NX Administration
Beiträge: 158 Registriert: 12.06.2002
|
erstellt am: 17. Jun. 2003 07:53 <-- editieren / zitieren --> Unities abgeben:
Hi Michael Danke für Deine Antwort und das Attachement! Ich habs jetzt auch so gemacht. Gefiel mir zwar am Anfang nicht. Die Lösung hat aber auch Vorteile. Ich lass von meinem GUI jetzt eine temporäre Batch erstellen die dann ausgeführt wird. Somit kann ich über das GUI die UG Umgebung auch beeinflussen. (zB verschiedene ug_metric abhängig vom Kunden). Ich habe mich entschlossen die Batch temporär zu generieren weil ich dann keine Kommandozeilenparameter innerhalb der Batch auswerten muß. Meine externes UG Programm arbeitet wiederum Komandozeilenparameter ab, die beim Aufruf in der temporär-Batch übergeben werden. Da bin ich dann natürlich an eine Grenze gestoßen. Es sind wohl um die 2000 Zeichen die ein Befehl in einer DOS Shell lang sein darf. Weißt Du wieviel genau und wo das festgelgt ist? Gruß
Rainer Gruß Rainer
Gruß
Rainer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rainer1 Mitglied NX Administration
Beiträge: 158 Registriert: 12.06.2002
|
erstellt am: 17. Jun. 2003 07:55 <-- editieren / zitieren --> Unities abgeben:
|