Einzelnen Beitrag anzeigen

Benutzerbild von nTE
nTE

Registriert seit: 8. Sep 2003
60 Beiträge
 
#10

Re: Extremer Speicherfraß durch Strings/StringLists (?)

  Alt 11. Okt 2003, 22:35
Okay, ich habe es einfach mal mit sSource.LoadFromFile als Ersatz probiert (den Rest so gelassen), um festzustellen ob es an SaveToStrings liegt und du hattest Recht Christian, da ist der Wurm drin.

Ich habe mal geschaut was bei TEmbeddedWB so falsch sein könnte und bin bisher nur auf das gestoßen:

Delphi-Quellcode:
constructor TEmbeddedWb.Create(Owner: TComponent);
var
  Buf: array[1..10] of Char;
begin
  FfpExceptions := True;
  inherited;
{$IFDEF VER120}
  enablemessagehandler;
{$ENDIF}
  GetDDEVariables;
  // Compiler: Symbol 'AllocateHWnd' wird abgelehnt
  DDEHWnd := AllocateHWnd(DDEWndProc);
  .
  .
  .
end;

destructor TEmbeddedWb.Destroy;
begin
  // Compiler: Symbol 'DeAllocateHWnd' wird abgelehnt
  DeAllocateHWnd(DDEHwnd);
  .
  .
  .
end;

// Folgendes aus function SaveDocToStrings(Doc: IDispatch; var AStrings: TStrings): HResult;
// mehr Quelltext, siehe oben ;)
IpStream := doc as IPersistStreamInit;
// wird nicht wieder freigegeben? naja, ich hab mal ._Release damit gemacht und es hat nichts gebracht

if Succeeded(IpStream.save(TStreamadapter.Create(AStream), TRUE))
// TStreamadapter hat noch die Eigenschaft Ownership die hier nicht verwendet wird:
// Mit Ownership wird die Eigenschaft StreamOwnership initialisiert, die das verantwortliche TStreamAdapter-Objekt für die Freigabe des in Stream angegebenen Streams im eigenen Destruktor bezeichnet.
//

Mehr fällt mir langsam echt nicht mehr ein. Ich suche momentan noch ein wenig nach Lösungen, aber ich glaube bald lege ich das Programm einfach unter RAM-Hog ab und fass es nicht mehr an. ;)

Ich habe leider keine andere OpenSource TWebBrowser Komponente gefunden, vielleicht hat da ja jemand was für mich? :P


Ach ja, vielleicht könnte ein Mod ja das Thema in "Memory Leak in TEmbeddedWB (SaveTo...)" umbenennen und nach "Internet / IP / LAN" verschieben.
  Mit Zitat antworten Zitat