Announcement

Collapse
No announcement yet.

ActiveX entlädt sich von alleine...

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

  • ActiveX entlädt sich von alleine...

    Hallo,

    ich habe eine typbibliothek mit Delphi 7 Entwicklet.
    Diese läuft stabil und sicher.

    Jedoch zeit kurzem entlädt sich die bibliothek von alleine.

    Beim laden von der bibliothek durch eine Software wird eine Memorymapfile erzeugt.
    Die Sotware verwendet dieses Mapfile und mehrere Funktionen aus der bibliothek .
    Nach einigen Minuten wird die bibliothek entladen ohne das es angefordert wurde, und die Memory map file wieder freigegeben.
    Die Software bringt einen Fehler zurück (ist auch ok so.)
    Diese Entladen tritt sporadisch auf, und nie zu gleicher Zeit..

    Hätte jemand eine Idee was hier passiert ?

    Danke

    Woully

  • #2
    Woher merkst du das die ActiveX entladen wird? Könnte es nicht eher eine Exception (Stack Overflow) sein der auftritt?

    Comment


    • #3
      Hallo, danke für die schnelle Antwort.
      Ich habe eine breakpoint in die Funktion gesetzt die beim DLL_PROCESS_DETACH aufgerufen wird.

      Kann ich irgendwie nachvollziehen ob es sich um ein Stack overflow handelt ?

      Comment


      • #4
        Gute Frage. Steht was in der Ereignisanzeige von Windows?

        Mit was greifst du auf das ActiveX zu? Ein C++-Programm. Evtl. tritt ja hier einer der oft vorkommenden Fehler mit der Referenzzählung auf.

        Überschreib mal die _Release-Methode und gib ein Messagedialog aus bzw. einen Logeintrag wenn der Referenzzähler auf 0 sinkt.

        Comment


        • #5
          Ich verwende LABView als zugreifende Software.
          Das merkwürdige ist eben das niemand, sowohl die ActiveX, als auch die Labview software einen Crash oder overflow, oder sonstige system Meldung bringt.
          Das einzige das ich behaupten kann ist das die activeX entladen wird, die memory map file gelöscht wird.
          Die Labview Software bringt natürlich dann eine Meldung das der Aufruf einer Funktion der ActiveX fehlgeschlagen ist. Diese meldung wird aber von mir erzeugt.

          Ich habe erhlich gesagt, null Plan woran das liegen könnte...

          Comment


          • #6
            Dann mach doch mal meinen Vorschlag um zu sehen ob der Referenzzähler auf 0 läuft.

            Comment


            • #7
              Hallo,

              ich habe einen Workaround vorläufig gefunden. Wenn eine DLL zwischen der Software und der ActiveX liegt tritt das Problem nicht auf. Diese DLL macht nicht mehr als die Funktionen aus der ActiveX aufzurufen, und die Ergebnisse an die Software weiterzugeben.

              Vermutlich liegt das Problem an der Labview Schnistelle.
              Ich werde weitere tests durchführen, und das ergebnis mitteilen.

              Danke für die Unterstüzung.
              woully

              Comment

              Working...
              X