Einzelnen Beitrag anzeigen

youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

Arbeitsspeicher saugt sich voll

  Alt 1. Mär 2011, 14:41
Hi,

ich hab ein Problem, ich hab ein Programm, welches ich mit ca. 30 Threads laufen lasse (4 Kerne).
Diese Threads erstellen eine Klasse, welche sämtliche Aufgaben ab arbeitet,
z.B.
- Source holen per Indy.Get
- Source bearbeiten
- Source in Document übergeben

mit dieser Funktion:

Delphi-Quellcode:
function THtmlSearch.GetDocument(const markup: WideString): IDispatch;
var
  doc: OleVariant;
begin
  CoInitialize(nil);
  Result := CoHtmlDocument.Create;
  doc := Result;
  doc.Open;
  doc.Write(markup);
  doc.Close;
  CoUnInitialize;
end;
später wird im finally Block, die Klasse wieder frei gegeben.
Jedoch wird jedesmal der Arbeitsspeicher beim erstellen der Klasse belastet, aber beim Frei geben per FreeAndNil() nicht wieder entlastet.

So dass ich irgendwann an die 1 GB und manchmal wesentlich mehr in anspruch nehme und es bei der 2GB Grenze natürlich kracht.

Gibt es da eine Lösung?
Steven
  Mit Zitat antworten Zitat