Announcement

Collapse
No announcement yet.

Speicherleck im WebBrowser Control?

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

  • Speicherleck im WebBrowser Control?

    Hallo zusammen,

    ich arbeite gerade an einem Programm, welches über ein WebBrowser Control in einem Formular einige Internet-Seiten aufruft, Daten in Formulare einträgt und die Ergebnisseiten analysiert.
    Leider stürzt das Programm nach ein paar Stunden immer ab. Jedes mal mit einer anderen Fehlermeldung. Mir ist nun aufgefallen, dass der Speicherverbrauch, der im Task Manager angezeigt wird, nach einiger Zeit die 1GB Marke übersteigt. Dazu reicht es schon, die Navigate() Methode des WebBrowser immer wieder aufzurufen.
    Kann mit jemand sagen, was ich dagegen tun kann?

    Gruß
    BitEater

  • #2
    Wenn du mit IHTMLDocument und darüber erreichbare Interfaces arbeitest: Ja der IE hat hier gewaltige Speicherlöcher bzw. sich selbst am leben erhaltende Interfaces. Hier muß hin und wieder mal ein Release explizit aufgerufen werden.

    Beachte jedoch das der IE7 weniger solche sich selbst am leben erhaltende Interfaces hat. also alles schon mit try...except einschließen und am besten auch ein Browser-Versionunterscheidung einbauen.

    Comment


    • #3
      Es reicht ja schon, in Excel VBA in einem UserForm im Handler vom DocumentComplete Event immer nur wieder die Navigate Methode aufzurufen. Da habe ich ja keine Möglichkeit, "von Hand" Speicher frei zu geben.

      Comment


      • #4
        Werts mal nachstellen (Delphi + .NET). Evtl. fordert ja der .NET-Wrapper intern Interfaces an.

        Comment


        • #5
          Ich stehe grade vor dem selben Problem, nach dem Auruf mehrerer Seiten steigt er Speicherverbrauch auf mehrere 100 mb.

          Das besonders Dumme daran ist: Der Speicher wird nichtmals wieder freigegeben, wenn dass Fenster mit dem TWebbrowser Control per Release freigegeben wird!

          Ich bin auch für jeden Tip dankbar, die Anwendung alle par Stunden neu starten zu müssen ist nicht grade Elegant ;o)

          Comment


          • #6
            Arbeitest du mit IHTMLDocument und Co. oder lädst du nur die Seite? Sind Flash & Co auf der Seite eingebettet?

            Comment


            • #7
              Ich werte die Seite über IHTMLDocument2 aus. Ansonsten sind nur Javascript und ein paar Bilder auf der Seite. Wie gesagt bleibt aber vor allem der Speicherbedarf auch bestehen wenn ich das gesamte Formular auf dem sich der Browser befindet freigebe...

              Comment

              Working...
              X