Einzelnen Beitrag anzeigen

BlackSeven

Registriert seit: 25. Sep 2004
79 Beiträge
 
Delphi XE7 Professional
 
#26

AW: Speicher läuft voll bei WMI....

  Alt 1. Mär 2012, 12:30


Ich bin mir ziemlich sicher das es daran liegt
Delphi-Quellcode:
while (ObjectInstances.Next(1, TempObj, ObjValue) = S_OK) do
begin

Habe ein ähnliches Problem:

Beim Start eines Dienstes rufe ich verschiedene Informationen per WMI ab. Dieser bleibt allerdings hängen.
OS: Windows XP SP3

Delphi-Quellcode:

var

 SWbemLocator : OLEVariant;
 WMIService : OLEVariant;
 WbemObjectSet: OLEVariant;
 WbemObject : OLEVariant;
 oEnum : IEnumvariant;
 iValue : LongWord;

begin

  SWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  WMIService := SWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
  WbemObjectSet := WMIService.ExecQuery('Select * From Win32_NetworkAdapter', 'WQL', wbemFlagForwardOnly);
  oEnum := IUnknown(WbemObjectSet._NewEnum) as IEnumVariant;

  while oEnum.Next(1, WbemObject, iValue) = 0 do // <- scheint hier hängen zu bleiben
  begin

    Log('!'); // Zeile wird nicht mehr geloggt

  end;

  // ...
  Mit Zitat antworten Zitat