Привет, Horsun!
Вы пишешь  21 мая 2007:

HV> PS Народ, кто в курсе - второй последовательный вызов WSAGetLastError
HV>    может затереть ошибку возвращённую первым вызовом ?

Не должен, но может ;)
Она может возвращать несколько кодов последовательно.
При этом первоначальный код, полученный самым первым
вызовом будет получен только однажды.

Например:
=========Beginning of the citation============== 
var
  Error: DWORD;
  HostEntry: PHostEnt;
  Data: WSAData;
begin
  Error := WSAStartup(MakeWord(1, 1), Data);
  if Error = 0 then
    begin
      HostEntry := gethostbyname('никогонетдома');
      if (HostEntry = nil) then
        repeat
          Error := WSAGetLastError();
        until MessageBox(Self.Handle, PChar(Format('Error = %d', [Error])), 
'АшЫбка!', MB_ICONERROR + MB_RETRYCANCEL) = ID_CANCEL
      else
        MessageBox(Self.Handle, HostEntry.h_name, 'Host', MB_ICONINFORMATION);
    end;
  WSACleanup();
end;
=========The end of the citation================ 

у меня возвращает сперва 11001, а затем 1813

зы: не пиши осмысленный текст после подписи,
многие ньюс-читалки его режут.

--
With best regards, Alex Cherednichenko.


Ответить