Pascal->TWebBrowser->Uvolňování RAM paměti
Dobrý den,
vytvářím webový prohlížeč v Turbo Delphi. Dynamicky vytvářím nové listy, na kterých se dynamicky vytvářejí komponenty TWebBrowser. Neuvolňuje se mi však po zavření listu RAM paměť.
Po vykonání TWebBrowser(FindComponent('WebBrowser'+inttostr(de letedpage))).Free; se neuvolní skoro žádná paměť.
Předpokládám tedy, že musím nejdříve smazat načtený obsah komponenty TWebBrowser a pak teprve uvolnit samotnou komponentu.
Nějaký nápad?
Děkuji
(Pro zajímavost: Po vytvoření sto dynamických listů (+WebBrowserů) s načtením stránky Google.cz program využívá okolo 500MB RAM paměti. Po provedení Free včech komponent TWebBrowser klesne využití RAM paměti asi o 5MB)
No, celého si ma tak trošku "domotal". (Sám som sa domotal.. )
Z toho čo som pochopil tak máš hlavný Formulár a na ňom PageControl, v ktorom potom dynamicky vytváraš listy (Tabsheet) a v nich následne TWebBrowser.
Čiže ja by som to riešil asi nasledovne:
1. Vytvoril by som proceduru, kde by sa dynamicky vytvárali TabSheet+WebBrowser:
2. potom by som si vytvoril procedúru, kde by som zatváral napr. aktívny list aj s následným zrušením WebBrowsera:
Aha, ty uvolňuješ obě komponenty. Stačí přeci jenom TTabSheet ne? TWebBrowser se uvolní s ním.
Skús môj uvedený kód vyššie s uvoľňovaním TTabSheet +TWebBrowser (ja som si ho samozrejme najprv vyskúšal u seba Delphi 2010) - mne sa RAM uvoľňuje v pohode, tak ako si chcel Ty...
apsal jsem program v Delphi XE
Po ukončení se však uvolní jen 2MB. Nemůže to být ještě něčím jiným ve Windows?