Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Webbrowser Ressource beim beenden löschen (https://www.delphipraxis.net/101919-webbrowser-ressource-beim-beenden-loeschen.html)

taktaky 20. Okt 2007 10:07


Webbrowser Ressource beim beenden löschen
 
Hallo

ich lade die Ressource in meinen Webbrowser in diesem Form :
Delphi-Quellcode:
WebBrowser1.Navigate('res://' + Application.ExeName + '/html');
ich habe bemerkt, wenn ich die Anwendung beenden und kurz danach erneut ausführe, dann startet wesentlich schnell als beim 1. mal
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:
 
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;
Oder muß ich die Funktion Findfirst, Findnext, ... in Resource suchen und dann löschen ?

mirage228 20. Okt 2007 10:13

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

OregonGhost 20. Okt 2007 10:30

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 17:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz