Hi, erstmal danke für dein Einsatz bei diesem Thema
Das was ich gepostet habe ist alles was irgendwie was mit
WMI zu tun hat, weil alles zu schicken würde nur mehr Aufwand für dich bedeuten und hätte glaube auch keinen Sinn. Der Fehler muss in dem geposteten Code liegen. Da ist die
wmi-Klasse und die Funktion, die ich extern aufrufe, um an die Temperatur zu kommen.
Dass es an dem Doppelconnect liegt hatte ich mir auch schon gedacht, aber bis zum 2. Verbindungsversuch kommt er gar nicht. Ich erzeuge mir ein TwmiInfo-Objekt und dabei wird ja der Konstruktor aufgerufen und somit auch die TwmiInfo.RefresherCreate Prozedur und da kommt dann auch schon der Fehler nach dem 1. Verbindungsversuch, welcher nichtmal fehlschlägt.
Hast du vielleicht noch eine Idee?
Gruß
Profiler
PS: Evtl. hilft dir noch folgender Code, welcher in der gleichen
Unit steht:
Delphi-Quellcode:
// eigene Exceptions
wmiException =
class(
Exception);
NoInstancesFound =
class(wmiException)
public
constructor Create(
Query:
String);
end;
// Instanzklasse für WMI-Daten
TwmiInstance =
class(TObject)
private
_PropName: TStringList;
_PropValue: TStringList;
public
constructor Create;
destructor Destroy;
override;
property PropName: TStringList
read _PropName
write _PropName;
property PropValue: TStringList
read _PropValue
write _PropValue;
end;
// ...
constructor NoInstancesFound.Create(
Query:
String);
begin
Inherited Create('
Keine WMI-Daten gefunden! '+
Query);
end;
constructor TwmiInstance.Create;
begin
Inherited Create;
_PropName := TStringList.Create;
_PropValue := TStringList.Create;
end;
destructor TwmiInstance.Destroy;
begin
if Assigned(_PropName)
then _PropName.Free;
if Assigned(_PropValue)
then _PropValue.Free;
Inherited Destroy;
end;