Speicherproblem

15/07/2009 - 10:53 von tom knauf | Report spam
Moin, moin


ich habe folgendes Problem mit einem gierigen IE :
Ich lese von ca. 100 Webseiten des Kunden Daten mit Fox aus :

Function getwwwdata()
cx = "www"

v_oieapp = Createobject("InternetExplorer.Application")
v_oieapp.Visible = .F.
v_oieapp.Navigate(cx)
nSstart = Seconds()
Inkey(2)
Do While v_oieapp.readystate<>4
DoEvents
If nSeconds > nStart+10
Exit
Endif
Enddo
iedoc = v_oieapp.Document
cmemo = iedoc.body.innertext
...
iedoc=.Null.
Release iedoc
endfu

Das klappt auch prinzipiell, aber :
Im Speicher bleibt ein Prozess iexplore.exe , der bei jedem Aufruf immer
mehr Speicher frißt, bis das Programm mit "es ist njcht ausreichend Speicher
vorhanden" abstürzt.
Der Verbrauch sinkt wenn man SEHR lange wartet etwas ab, jedoch erheblich
langsamer als er pro Aufruf (ca. 100-200 KB) steigt.

Ich habe schon folgendes versucht :

Nach jedem Aufruf getwwwdata()
v_oieapp = .NULL.
release v_oieapp

bzw. beim Programmstart als Public deklarieren und createobject()

Es hilft nix, der müllt den Speicher zu.

Hat jemand einen Tip ?


Vielen Dank
Tom

(Es ist zu heiß für sowas)
 

Lesen sie die antworten

#1 Erich TODT
15/07/2009 - 11:27 | Warnen spam
Hallo Tom,

ich habe folgendes Problem mit einem gierigen IE :



ruf dir Quit() Methode auf, um die IE-Anwendung zu schließen:

x=crea("InternetExplorer.Application")
x.Visible = .T.
WAIT WINDOW
x.Quit && Anwendungsseitiges Objekt schließen
x=.NULL. && FoxPro-seitige Objektreferenz freigeben

Herzliche Grüße
Erich


Erich TODT
dFPUG Regionalleiter Wien
URL: http://wien.dfpug.de/

Ähnliche fragen