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;
// ...