Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Probleme mit GetUnloadOption

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:  Probleme mit GetUnloadOption (2968 mal gelesen)
Vitalic
Mitglied



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

Beiträge: 11
Registriert: 21.11.2011

erstellt am: 23. Nov. 2011 08:42    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,
ich habe eine Form in C# mit Parametersteurung programmiert.
Nun habe ich das Problem, dass jedesmal die Form sofort geschlossen wird, wenn das Programm durchgelaufen ist.
Die Methode GetUnloadOption wird von NX automatisch aufgerufen und sorg dafür, dass durch Session.LibraryUnloadOption.Immediatrly meine Form geschlossen wird.

Ich habe versucht, diese Methode selbst zu steuern, um bei einem bestimmten Verhalten Immediatly aufzurufen, jedoch bleibt dann die DLL weiterhin im Speicher.


Code:
    public static int GetUnloadOption(string arg)
    {
        return System.Convert.ToInt32(Session.LibraryUnloadOption.AtTermination);
       
        if (_bUnload)
return System.Convert.ToInt32(Session.LibraryUnloadOption.Immediately);
    }

Hat eine eine Idee, warum das Programm immer noch im Hintergrund läuft bzw. was man anders machen müsste?

MfG
Vitalic

[Diese Nachricht wurde von Vitalic am 23. Nov. 2011 editiert.]

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

seiwi
Mitglied
Programmierer, Systembetreuer


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

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 23. Nov. 2011 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 Nur für Vitalic 10 Unities + Antwort hilfreich

Hallo Vitalic,

die beiden Optionen haben folgende Bedeutung:

AtTermination = Entladen beim Beenden von NX
Immediately = Entladen beim Beenden vom NXOpen-Programm

Code:

public static int GetUnloadOption(string arg)
{
   return System.Convert.ToInt32(Session.LibraryUnloadOption.AtTermination);  // An dieser Stelle springt das Programm immer raus
   // Das Return greift ja immer und springt aus der Methode heraus...
      
   if (_bUnload)
   return System.Convert.ToInt32(Session.LibraryUnloadOption.Immediately);    // Hier würde diese Unterfunktion nie hinkommen
}


Wenn du zwei Fälle unterscheiden möchtest, wird hier eine if-else Abfrage besser sein.
Ich hoffe ich konnte dir helfen, sonst Beschreib dein Problem einfach nochmal anders.

LG Seiwi

[Diese Nachricht wurde von seiwi am 23. Nov. 2011 editiert.]

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

Vitalic
Mitglied



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

Beiträge: 11
Registriert: 21.11.2011

erstellt am: 23. Nov. 2011 10:07    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 Seiwi,

ich versuche mal das Problem anders zu schildern.
Ich habe eine Main Klasse und eine Form Klasse.
Die Main-Klasse beinhaltet die Funktion GetUnloadOption und öffnet die Session.
Nun möchte ich nach dem Beenden der Form die DLL aus dem Speicher entladen.

Problem:
Die GetUnloadOption wird bereits nach dem Aufruf der Form automatisch von NX aufgerufen und die Form geht sofort zu.

Wie kann ich nun das Entladen der DLL selber bestimmen?

MfG
Vitalic

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

seiwi
Mitglied
Programmierer, Systembetreuer


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

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 23. Nov. 2011 10:16    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 Vitalic 10 Unities + Antwort hilfreich

Hallo Vitalic,

ich denke es liegt dann am Grundaufbau von deinem Programm.

Brauchst du wirklich eine Main-Funktion? Wenn du eine Form verwendest arbeitest du ja eigentlich ereignisbasiert, d.h.
Es gibt Ereignis Load, wenn die Form geladen wird. Und ein Unload wenn die Form beendet wird. Währendessen hast du ja Ereignisse,
wie z.B. Buttonclick, welche wieder Methoden auslösen.

Weiter kannst du eine Form, modal und nicht-modal aufrufen, hier kann dir vielleicht folgender Eintrag helfen:
Link Dialog Modal / Nicht-Modal

LG Seiwi

------------------
Let's Rock... 

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

Vitalic
Mitglied



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

Beiträge: 11
Registriert: 21.11.2011

erstellt am: 23. Nov. 2011 10:47    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 und Danke Seiwi,

ich habe das Problem gefunden.

Wenn man eine Form Aufruft dann sollte man die Methode Run() aufrufen und nicht die Show().

MfG
Vitalic

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



Lead Design Engineer (m/w/d) seriennahe Vorentwicklung
FORVIA HELLA ist ein börsennotierter, internationaler Automobilzulieferer. Wir sind ein Unternehmen der FORVIA-Gruppe, dem weltweit siebtgrößten Zulieferer von Automobiltechnologien. Als globaler Marktführer in wachstumsstarken Zukunftsbereichen beschäftigt FORVIA weltweit 157.000 Mitarbeitende. FORVIA HELLA steht dabei für leistungsstarke Lichttechnik und Automobilelektronik. Gleichzeitig decken wir ...
Anzeige ansehenTeamleitung, Gruppenleitung
Vitalic
Mitglied



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

Beiträge: 11
Registriert: 21.11.2011

erstellt am: 28. Nov. 2011 14: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

Hallo,

ich habe nun ein anderes Probleme mit GetUnloadOption.

1. Ich habe mir ein eigenes Menü angelegt, welches meine .dll Datei aufruft. Das funktioniert soweit, doch das Entladen des Bildes geht nicht. Die dll bleibt weiterhin im Speicher. Hat jemand eine Ahnung warum das Entladen nicht funktioniert?

2. Ist es möglich die Menüs über die Programmierung zu erstellen, oder muss man das immer manuell hinzufügen?

MfG
Vitalic

[Diese Nachricht wurde von Vitalic am 28. Nov. 2011 editiert.]

[Diese Nachricht wurde von Vitalic am 28. Nov. 2011 editiert.]

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