Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  NxOpen++ Session

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 NX
Autor Thema:  NxOpen++ Session (1656 mal gelesen)
moles are coming
Mitglied



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

Beiträge: 11
Registriert: 14.01.2008

erstellt am: 05. Jun. 2008 10:25    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,

bei UgOpen konnte ich eine Session mit UF_initialize( ) starten und mit UF_terminate( ) beenden. Bei UgOpen++ via UgSession::initialize( ) und mit Ugsession::terminate( ). Bei NxOpen++ finde ich allerdings nur Session::GetSession( ) ... kann mir jemand erklären was es damit auf sich hat? Wie kann ich meine Session wieder beenden und muss ich mir wirklich einen globalen Pointer bereithalten und diesen auf NULL testen um zu schauen ob meine Session tatsächlich initialisiert ist? 
Die API selbst ist phantastisch gelungen, nur etwas verwirrend auf den ersten Blick. 

Beste Grüsse!

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

mecteg
Mitglied
Dipl.-Ing.


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

Beiträge: 13
Registriert: 17.02.2005

erstellt am: 24. Okt. 2008 13:20    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 moles are coming 10 Unities + Antwort hilfreich

Hallo,

ich habe die Open C API verwendet und nun NXOpen C++ eingebaut. Dies ging unter NX4 ohne Probleme. In der NX6 kam es zu Fehlern. GTAC verwies auf die Beispieldateien im Verzeichnis  ..\UGOPEN\SampleNXOpenApplications\C++\... und ergänzte mit folgendem Text:

"In einem mixed C/C++ Code muss sowohl die UG/Open C API als auch die NXOpen
C++ API initialisiert werden:
- UF_initialize()
- Session::GetSession()"

Auch in den Beispielprogrammen findt kein explizites Entladen des GetSession() statt.
Interessanterweise braucht es bei mir keine globale Variablen sondern lediglich einer lokalen Anfrage (Einmal nachgefragt alles klappt!). Ich beende die Programme mit return(UF_UNLOAD_IMMEDIATELY); und hoffe damit auch diese Resource mit freizugeben.

Unter dem Beispiel ...\UGOPEN\SampleNXOpenApplications\.NET\ManagedCpp\... findet sich
ebenfalls nur ein GetSession() sowie  return UFConstants::UF_UNLOAD_IMMEDIATELY;.

Interessant wäre eine Beobachtung des Lizenzservers bei X-Maligem Aufruf derartiger Programme

Gruß Thorsten

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



EPLAN-Konstrukteur (m/w/d)
Starte noch heute deine IT- und Engineering-Karriere bei FERCHAU und entwickele die Innovationen von morgen. Wir suchen dich: als ambitionierte:n Mitarbeitende:n für einen unserer Kunden. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen.

EPLAN-Konstrukteur (m/w/d)
Friedrichshafen
Dein Verantwortungsbereich
  • Entwicklung ...
Anzeige ansehenKonstruktion, Visualisierung
Overcast
Mitglied



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

Beiträge: 111
Registriert: 21.12.2005

.

erstellt am: 04. Dez. 2008 17:23    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 moles are coming 10 Unities + Antwort hilfreich

Der Mechanismus bei NXOpen C++ ist anscheinend ein völlig anderer als in den alten UGOpen C/C++ Implementierungen.

Die "Session" ist im Prinzip wohl nichts anderes als der Thread und die damit verbundene Anwendungsinstanz.
Zum Vergleich: bei der Microsoft Foundation Class kennt man die "Application", abgeleitet von CWinApp.

Mit

Code:

Session *theSession = Session::GetSession();


erzeugt man einen Pointer und holt sich die Adresse der aktuellen Session (also der NX Sitzung).
Gleichzeitig wird die Lizenz angezogen und am Ende beim Entladen wieder losgelassen, wenn UF_UNLOAD_IMMEDIATELY zurückgegeben wird.
Würde hier, wenn überhaupt, den Pointer auf NULL testen.

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