Announcement

Collapse
No announcement yet.

USV Shutdown - Funktionen die vor dem Shutdown ausgeführt werden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • USV Shutdown - Funktionen die vor dem Shutdown ausgeführt werden

    Für ein Projekt haben wir spezielle Software (CBuilder6) geschrieben. Wenn das Programm beendet wird, dann werden alle Einstellungen gespeichert. Das ganze läuft auf ein Windows 2000 System mit einer USV. Wenn jetzt die USV den Shutdown auslöst, dann werden die Funktionen für das speichern der Dateien nicht mehr aufgerufen. Gibt es Funktionen die vor dem Schutdown aufgerufen werden, oder eine andere Lösung für das Problem?

  • #2
    Soweit ich weiß (neudeutsch afaik) wird auch beim Shutdown das Event CanClose ausgelöst

    Comment


    • #3
      Das funktioniert allerdings nicht zuverlässig... Hab's bei mir mal so gelöst:

      <PRE>
      //Header:
      void __fastcall WndProc(Messages::TMessage &Message);
      //CPP:
      void __fastcall TForm_MainViewer::WndProc(Messages::TMessage &Message)
      {
      bool handled = false;
      // hier wurde noch mehr geprüft...
      if (!handled)
      {
      if (Message.Msg == WM_QUERYENDSESSION)
      {
      Message.Result = false;
      ShowMessage("Windows kann nicht beendet werden. Beenden Sie zuerst die Fertigungsplanung.");
      handled = true;
      }
      }
      if (!handled)
      TForm::WndProc(Message);
      }
      </PRE>

      Grüße Joche

      Comment


      • #4
        Danke für die Info.

        Leider ist das ganze doch nicht so einfach. Es kommt drauf an welche Botschaft die USV sendet. Meistens wir WM_CLOSE gesendet und dann funktionieren auch die normalen Funktionen zum Programm beenden.
        Wird aber WM_CLOSE mit dem Flag EWX_FORCE gesendet, dann erfolgt ein hartes herunter fahren und die Funktionen zum Programmbeenden werden einfach übergangen

        Comment


        • #5
          Tja, da kannst Du wohl nichts dran machen:

          http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/exitwindowsex.asp

          Grüße Joche

          Comment

          Working...
          X