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

Вниз

gethostbyname и торможение проги   Найти похожие ветки 

 
AlexeyITN   (2004-01-10 11:31) [0]

Доброго времени суток. Использую gethostbyname. Когда определяемый компютор выключен наблюдаю тормоз проги, залипание. Как от этого избавится? Попробовал Application.ProcessMessages - не помогает. Похоже, что это не из той оперы...
"Потоки" что ли?(в них то я НОЛЬ)...
Если можно, то докиньте пару строчек кода...
----------------------------------------------------------------
gethostbyname("delphi.mastak.com");
   error := GetLastError();
   if (error <> 0) then
   begin
        Memo1.SetTextBuf("Error in call to"+
                         "gethostbyname().");
        Memo1.Lines.Add("Error code: "+IntToStr(error));
        Exit;
----------------------------------------------------------------
Заранее благодарен!


 
FireMan_Alexey ©   (2004-01-10 14:55) [1]

Используй WSAAsyncGetHostByName, запускаеш ее с параметрами
(FHandle,GET_HOSTMESSAGE,PChar(FHost),FGetHostData,MAXGETHOSTSTRUCT)
FGetHostData:Pointer;

1. Создаешь процедуру MyProcedure(Msg:TMyMessage), которая срабатывает на твое сообщение (например GET_HOSTMESSAGE);
2. Привязываешь Handle к твоей процедуре или если пишеш в
Form1 то просто добавляешь message GET_HOSTMESSAGE;
3. После запуска WSAAsyncGetHostByName ждешь срабатывание твоей процедуры по сообщению GET_HOSTMESSAGE получаешь
данную структуру
 TMyMessage=Record
   Msg    :Cardinal;
   Handle :THandle;
   BufLen :Word;
   Error  :Word;
   Result :Longint;
 End;
и обрабатывешь ошибки
If Msg_.Error<>0 Then
 Begin
   ErrorCode:=Msg_.Error;
   Exit;
 End;
FAddr.Sin_Addr.S_Addr:=Integer(
Pointer(PHostEnt(FGetHostData).H_Addr^)^);

Если все прошло успешно, то получаешь IP адрес, иначе удаленного хоста несуществует!!!
Да перед запуском WSAAsyncGetHostByName надо сделать FGetHostData:=AllocMem(MaxGetHostStruct);
Удачи


 
AlexeyITN   (2004-01-10 15:53) [2]

Спасибо! И Вам Удачи!



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
8-1069221413
DAndrew
2003-11-19 08:56
2004.03.28
Как вращать строку с центром посредине строки?


1-1078909467
RatLion
2004-03-10 12:04
2004.03.28
Как показать код исполняемый во время выполнения?


3-1077470135
Vah
2004-02-22 20:15
2004.03.28
Подключение к MySQL через dbExpress


6-1074228988
MasterA
2004-01-16 07:56
2004.03.28
Сетевые протоколы


6-1073709437
KIR098
2004-01-10 07:37
2004.03.28
Как прочитать данные из таблицы на сайте?