Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.27;
Скачать: CL | DM;

Вниз

Как узнать IP имени машины?   Найти похожие ветки 

 
Uran ©   (2002-12-02 12:00) [0]

Понадобилось быстренько написать программу определяющая по имени машины IP адресс .... вроде всё просто ..
var
WSAData : TWSAData;
p : PHostEnt;
Name : string;
begin
WSAStartup($0101, WSAData);
p := GetHostByName(Name);
showmessage(inet_ntoa(PInAddr(p.h_addr_list^)^));
WSACleanup;
end;

всё работает нормально когда пытаюсь определить айпишник компа впределах своей рабочей группы ... когда из другой ругается .."Acces violation .... " где моя ошибка подскажите пожалуйста...


 
Wonder ©   (2002-12-02 12:27) [1]

Access violation у тебя появляется из-за того, что ты не анализируешь результат вызова GetHostByName().
Т.е. GetHostByName() выполняется с ошибкой и возвращает nil.

If no error occurs, gethostbyname() returns a pointer to the hostent structure described above. Otherwise it returns a NULL pointer and a specific error number may be retrieved by calling WSAGetLastError().

Вообще-то, строго говоря, эта ф-ция предназначена для определения IP-адреса по имени хоста, а не по netbios-имени (хотя в сетях Microsoft так тоже можно).

Попробуй сначала "Пуск->Найти->Компьютер" и найти компьютер из другой раб. группы. Если найдется - запусти свою программу и попробуй.



 
Uran ©   (2002-12-02 13:51) [2]

компьютер в сети есть! :(
возник встречный вопрос, а с помощью какой фу-ии можно определить IP по netbios?


 
Wonder ©   (2002-12-02 13:57) [3]

С помощью ее же. GetHostByName()


 
Uran ©   (2002-12-02 14:00) [4]

Прости за навязчивость .. я никак не пойму что делаю не так ...
компьютер в сети есть и виндой винен .... почему ф-ия завершается ошибкой?
опиши, пожалуйста на примере если не сложно! :)


 
Wonder ©   (2002-12-02 14:05) [5]

Так посмотри, что за ошибка-то!
GetLastError()



Страницы: 1 вся ветка

Текущий архив: 2003.01.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
14-87139
smitt
2003-01-08 13:27
2003.01.27
Минимальное приложение


4-87231
stas kalishenko
2002-12-10 17:19
2003.01.27
Alt+любая клавиша


6-86998
Serj_z
2002-11-28 20:13
2003.01.27
Проблема в том что 98 ти ХР не видят друг друга без хаба


1-86833
denisww
2003-01-15 21:37
2003.01.27
Есть обьект на форме допустим GroupBox , я ему установил свойс. D


3-86692
Эдуард
2003-01-09 00:48
2003.01.27
EasyTable 4.11 не поддерживает SQL