Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.135 Beiträge
 
Delphi 12 Athens
 
#8

Re: WMI Speicherfresser wie beseitiegen

  Alt 25. Nov 2009, 20:36
'n Versuch
Delphi-Quellcode:
var
  Server: string;
  Enum: IEnumVARIANT;
  varArr: OleVariant;
  lNumElements: ULong;
begin
  Server := '127.0.0.1';
  try
    log.Lines.BeginUpdate;
    Enum := CoSWbemLocator.Create.ConnectServer(Server, 'root\cimv2', '',
      '', '', '', 0, nil).ExecQuery('Select * from Win32_LogicalDisk', 'WQL',
      wbemFlagBidirectional, nil)._NewEnum as IEnumVariant;
    VarClear(varArr); // kann zumindestens nicht schaden
    while Succeeded(ADsEnumerateNext(Enum, 1, varArr, lNumElements)) and (lNumElements > 0) do
    begin
      DumpWMI_Process(IUnknown(varArr) as SWBemObject);
      ADsFreeEnumerator(varArr);
    end;
  finally
    log.Lines.EndUpdate;
  end;
end;
http://www.delphipraxis.net/internal...050512#1050512
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat