![]() |
Webbrowser Ressource beim beenden löschen
Hallo
ich lade die Ressource in meinen Webbrowser in diesem Form :
Delphi-Quellcode:
ich habe bemerkt, wenn ich die Anwendung beenden und kurz danach erneut ausführe, dann startet wesentlich schnell als beim 1. mal
WebBrowser1.Navigate('res://' + Application.ExeName + '/html');
das macht mich vermuten, dass die Ressource beim beenden von der Anwendung in Speicher erhalten :gruebel: löscht man die Ressource von Webbrowser genauso, wie bei Bildern?
Delphi-Quellcode:
Oder muß ich die Funktion Findfirst, Findnext, ... in Resource suchen und dann löschen ?procedure TForm1.Button1Click(Sender: TObject); var ms: TResourceStream; jpg :TJPEGImage; begin jpg:=TJPEGImage.Create; ms :=TResourceStream.CreateFromID(Hinstance,105,RT_RCDATA); try jpg.LoadFromStream(ms); image1.Picture.bitmap.Assign(jpg); Finally ms.Free; jpg.free End; end; |
Re: Webbrowser Ressource beim beenden löschen
Also wenn du bei VCL Komponenten beim Erstellen im Parameter "Owner" auch eine VCL Komponente angibst, musst Du diese nicht selbst freigeben. Das macht die VCL dann automatisch. Selbsterstellte Klasse, wie z.B. den Memory-Stream musst Du natürlich selbst freigeben.
Das von dir beschriebene Verhalten muss nicht unbedingt bedeuten, dass die Resource auch wirklich im Speicher verbleibt. Windows besitzt natürlich einige eingebaute Optimierungen für sowas, aber es könnte genauso der Cache der Festplatte sein, der die EXE-Datei beinhaltet, sodass diese beim zweiten Mal schneller geladen wird. mfG mirage228 |
Re: Webbrowser Ressource beim beenden löschen
Dieses Verhalten kannst du bei jedem beliebigen Programm beobachten. Dateien, auf die kürzlich zugegriffen wurde, verbleiben danach eine Weile im Cache.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz