AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit WMI Informationen

Ein Thema von Wenski · begonnen am 5. Jun 2005 · letzter Beitrag vom 18. Jun 2005
Antwort Antwort
Wenski

Registriert seit: 5. Jun 2005
Ort: Flörsheim
3 Beiträge
 
#1

Probleme mit WMI Informationen

  Alt 5. Jun 2005, 14:49
Hallo,

ich hab folgendes Beispiel mehr oder weniger so nachgebaut http://www.delphipraxis.net/internal...&highlight=wmi
geht auch alles soweit nur tritt beim abrufen bestimmter Informationen folgende Fehler auf :
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EVariantTypeCastError aufgetreten. Meldung: 'Variante des Typs (Null) konnte nicht in Typ (String) konvertiert werden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------

Dazu gibts dann folgenden Code Schnippsel
Delphi-Quellcode:
          WMIProperty:=PropertySet.Item('Speed',0);
    IF not VarisNull(WMIProperty) and (WMIProperty<>nil) then
       Specs.Values['NetworkAdapter'+Inttostr(i)+'.Speed']:=WmiProperty.Get_Value;
Meine Frage ist nun kann man den Fehler irgendwie anders abfangen, von ner Unmenge Try Excepts abgesehen ? Die beiden Bedingungen in der If Abfrage nutzen nämlich gar nix

freue mich über produktive Beiträge

mfG Wenski
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#2

Re: Probleme mit WMI Informationen

  Alt 5. Jun 2005, 15:02
Dein If war schon sehr nah dran:
Delphi-Quellcode:
IF not VarisNull(WMIProperty) and (WMIProperty<>nil) then
   Specs.Values['NetworkAdapter'+Inttostr(i)+'.Speed']:=WmiProperty.Get_Value;
Korrekt ist:
Delphi-Quellcode:
if not VarIsNull(WmiProperty.Get_Value) then
   Specs.Values['NetworkAdapter'+Inttostr(i)+'.Speed']:=WmiProperty.Get_Value;
Edit Nachtrag:
Das Problem ist ja, das nicht das Property selber NULL ist, sondern 'nur' der Wert des Propertys.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Wenski

Registriert seit: 5. Jun 2005
Ort: Flörsheim
3 Beiträge
 
#3

Re: Probleme mit WMI Informationen

  Alt 5. Jun 2005, 15:08
Argh ...

Immer ärgerlich wenn man sowas nich sieht obwohls eigentlich auf der Hand liegt

danke schön
  Mit Zitat antworten Zitat
Wenski

Registriert seit: 5. Jun 2005
Ort: Flörsheim
3 Beiträge
 
#4

Re: Probleme mit WMI Informationen

  Alt 18. Jun 2005, 16:06
hm kay das funzt jetzt alles soweit wie ich mir das wünsche, hab nur ein Problem...
unter win2k funktioniert meine anmelde procedure nich so wirklich bzw ein spezieller teil geht nicht... kann mir einer verraten warum ?

Delphi-Quellcode:
const WMI_System_NameSpace='root\CIMV2'

  try
    pLoc := TSWBemLocator.Create(nil);
  except
    begin
      CoUninitialize;
      Specs.Values['LastError'] := ('Failed to Create Locator Object');
      exit;
    end;
  end;
  try IF Assigned(pLoc) then
    pServ := pLoc.ConnectServer('.', WMI_System_Namespace, '', '', '', '', 128,
      nil)
      else
        begin
          CoUninitialize;
          Specs.Values['LastError']:='Locator Objekt is not assigned';
          exit;
        end;
  except
    begin
      CoUninitialize;
      Specs.Values['LastError'] :=
        ('Failed to establish NameSpaceConnection Object');
      exit;
    end;
  end;
um das ganze noch genauer einzugrenzen :
pServ := pLoc.ConnectServer('.', WMI_System_Namespace, '', '', '', '', 128, nil)
diese zeile verursachet jedesmal einen Fehler. so wer weiß es ?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz