Leider nicht. Also eigentlich sollte es gehen habe die Klassen auf beiden Systemen mit
WMI-Demo überprüft. Kannst du mir diesen Ausruck mal genauer erklären?
'Select * from '+ WMI_ClASS +' where caption like '+#39+#37+Adapter+#39,'WQL',0,nil);
Was ich mit einer anderen Lösung meinte ist, dass ich immer noch nicht verstehe warum ich nicht alleine mit meiner Funktion an die
IP-adresse rankomme.
Man müsste doch nur irgendwie IPAddress so bearbeiten dass ich den String mit der
IP erhalte.
Delphi-Quellcode:
function getIPAdr(nt: TNetworktype):
string;
var
wmi : variant;
wmiService : variant;
nicstatus : variant;
card : Olevariant;
cnt : integer;
Enum: IEnumVariant;
P : IUnknown;
F : Cardinal;
cardCap :
String;
IPAdresse :
String
begin
WMI:=CreateOleObject('
WbemScripting.SWbemLocator');
wmiService :=
wmi.ConnectServer('
.', '
root\CIMV2');
nicstatus := wmiService.InstancesOf('
Win32_NetworkAdapterConfiguration');
p := nicstatus._NewEnum;
p.QueryInterface(IEnumVariant, Enum);
for cnt := 0
to nicstatus.Count - 1
do
begin
Enum.Next(1, card, F);
cardCap := Copy(card.Caption, 12, MaxInt);
if cardCap = FAdapter[nt]
then
begin
IPAdresse :=
//Hier muss irgendwie über card.IPAdress und einer umwandlung in String die IPAdresse initialisiert werden
result := IPAdresse
break;
end
end;
end;