Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему не получается получить адрес хоста для 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]


> Вылетает

а можно подробнее: какая ошибка получается и т.д.


Наверх

Титульная страница Поиск, карта сайта Написать письмо