![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему не получается получить адрес хоста для TCP/IP порта
AlexEgorov © (2006-02-21 15:42:00)принтера. На машинах WinXP SP2 всё работает, а на Win2003 SP1 не работает - вылетает с исключением, хотя этот же код, написанный на VBS отлично работает и на Win2003. Почему такое может быть?
function GetHostAddress(Computer, PortName: WideString): WideString;
var
SWbemLocator: ISWbemLocator;
Services, Port: OleVariant;
begin
Result := '';
try
SWbemLocator := CreateOleObject('WbemScripting.SWbemLocator') as ISWbemLocator;
Services := SWbemLocator.ConnectServer(Computer, 'root\CIMV2', '', '', '', '', 0, nil);
Port := Services.Get('Win32_TCPIPPrinterPort.Name=''' + PortName + '''');
try
Result := Port.HostAddress;
finally
Port := Unassigned;
Services := Unassigned;
end;
except
end;
end;
Вылетает на строкеResult := Port.HostAddress;
umbra (2006-02-21 16:30:00) [1]
> Вылетает
а можно подробнее: какая ошибка получается и т.д.