[..] Vider la mémoire utilisé par IE

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
karime1
Niveau 5
Niveau 5
Messages : 106
Enregistré le : sam. 09 avr. 2011 10:05
Status : Hors ligne

[..] Vider la mémoire utilisé par IE

#1

Message par karime1 »

bonjours
après quelque recherche sur google:
http://www.autoitscript.fr/forum/viewto ... 17&p=38173
http://www.autoitscript.fr/forum/viewto ... f=3&t=6863
j'ai compris que personne n'a encore trouvé de solution pour la mémoire utilisé par IE
ça c'est le résumé de mon script qui a tout a fait l'air d'être un bot mais qui ne l'ai pas!

Code : Tout sélectionner

$oIE = _IECreateEmbedded()
GUICreate("", 500, 600)
GUICtrlCreateObj($oIE, 0, 0, 500, 600)
While 1
    _IENavigate($oIE, "http://www.yahoo.fr"); en réalité je visite un autre site
WEnd
en espérant que depuis la dernière évocation du prob quelqu'un a trouvé une solution.
merci d'avance.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#2

Message par jchd »

Et faire un gros $oIE = 0 ne donne rien ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#3

Message par sylvanie »

j'aurai tenté un _IEQuit, mais en lisant l'aide :
_IEQuit is not allowed with embedded browser objects created with _IECreateEmbedded. The browser processes associated with those objects will close when their parent GUI window is destroyed.
Du coups on vois que les objet IE imbriqués en GUI ne se libère qu'après destruction de la GUI
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#4

Message par jchd »

Bon sang, mais c'est bien sûr ! C'est de l'embedded, donc oui : scratch du GUI et rebelotte depuis la case Départ.
(Le bureau des pleurs, c'est à Redmond)
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
karime1
Niveau 5
Niveau 5
Messages : 106
Enregistré le : sam. 09 avr. 2011 10:05
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#5

Message par karime1 »

et bien non!
même si on ajoute ce bout de script, rien ne change:

Code : Tout sélectionner

Dim $oIE, $GUIActiveX

AdlibRegister("MaxRAM",5*60*1000)

Func MaxRAM()
ConsoleWrite(@CRLF&"Reboot IE"&@CRLF)
$oIE = 0
GUIctrlDelete($GUIActiveX)
GUIDelete($Gui)
$oIE = _IECreateEmbedded()
$Gui = GUICreate($Titre, 500, 600, -1, -1, $WS_MINIMIZEBOX + $WS_CAPTION + $WS_POPUP + $WS_SYSMENU + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 500, 600)
EndFunc
Modifié en dernier par karime1 le mer. 23 nov. 2011 18:10, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#6

Message par sylvanie »

Normal que ça ne marche pas. Avez vous lu ma précédente réponse ?
Les libérations d'allocation d'objets IE imbriqués en GUI ne se font qu'à la destruction de la GUI.
Le fait de mettre $oIe à 0 va juste affecter $oIe à cette valeur, mais ne va pas désallouer l'objet qui a été créé.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#7

Message par jchd »

De toute façon, le vrai problème est l'imbrication des entrailles de IE dans l'OS. Même si MicroMachin a été contraint de tracer une frontière pour dissocier en apparence IE et l'OS, faisant de IE un programme presque comme un autre, les objets qu'utilise IE sont en fait d'authentiques morceaux de système.

J'ai bien peur qu'on ne puisse rien faire contre ça au niveau appli AutoIt. Après, j'ai de droit de me tromper, hein.

trancexx a fait un gros boulot en cours de finalisation au niveau de la gestion COM. Je lui poserai la question car elle maîtrise ce domaine comme nul autre maintenant, des fois que...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#8

Message par jchd »

Le fait de mettre $oIe à 0 va juste affecter $oIe à cette valeur, mais ne va pas désallouer l'objet qui a été créé.
Pour un composant COM normal, si.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#9

Message par sylvanie »

Oui, mais IE il n'est pas normal. Il est partout dans windows, il nous regarde, et même si on utilise un autre navigateur, il est encore là dans l'explorateur.
Un jour IE lancera Windows, il sera alors un bootloader autonome
ça fait peur hein ?
Bon je vais prendre mes gélules moi, c'est l'heure. :arrow:
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
karime1
Niveau 5
Niveau 5
Messages : 106
Enregistré le : sam. 09 avr. 2011 10:05
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#10

Message par karime1 »

-.-"
bon j'ai trouvé une idée un peu zinzin: le programme se relance lui même!
mais, comment arriver à ce résultat en sachant qu'il doit continuer à travailler sur une variable?
Avatar du membre
Baku
Niveau 5
Niveau 5
Messages : 103
Enregistré le : mar. 26 oct. 2010 18:34
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#11

Message par Baku »

Et stockage du contenu de ta variable dans un fichier externe ?
[color=#0000FF]jchd[/color] a écrit :On est tous le casse-burnes de quelqu'un à un moment ou un autre !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#12

Message par jchd »

Si c'est une variable AutoIt, on peut toujours.
Un objet : en règle très générale, non, pour des raisons évidentes à qui a fait un peu de POO.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#13

Message par sylvanie »

au lieu de redémarrer l'exe il suffit de détruire la gui et de la reconstruire. ça a le même effet, mais on évite un kill + redémarrer une instance d'exécutable
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
karime1
Niveau 5
Niveau 5
Messages : 106
Enregistré le : sam. 09 avr. 2011 10:05
Status : Hors ligne

Re: [..] Vider la mémoire utilisé par IE

#14

Message par karime1 »

effacer la gui ne resoudra pas le prob j'ai deja essayé guidelete()
Répondre