Показать сообщение отдельно

  #376  
Старый 27.07.2007, 13:52
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
С нами: 10175096

Репутация: 105
По умолчанию

перевожу исходник с си на делфи, не могу понять где ошибка в коде.

Код:
DWORD WINAPI ServAccept(LPVOID lpParam)
{
	struct sockaddr_in ClientAddr;
	int iSize=sizeof(ClientAddr);
	SOCKET sConnect;
	while(true)
	{
		if((sConnect=accept(*(SOCKET*)lpParam,(sockaddr*)&ClientAddr,&iSize))==INVALID_SOCKET)
			break;
		Connecting((LPVOID)sConnect);
//		if(CreateThread(0,0,Connecting,(LPVOID)sConnect,0,0)==0)
//			break;
	}
	return 0;
}
вот на делфи

Код:
procedure ServAccept(lpParam: pointer); stdcall;
var
  iSize     : integer;
  sConnect  : TSOCKET;
  ClientAddr: PSockAddr;
begin
  iSize:=sizeof(ClientAddr);
  while true do
    begin
      sConnect:=accept(TSOCKET(lpParam),ClientAddr,@iSize);
      if sConnect = INVALID_SOCKET then
        break; 
      Connecting(pointer(sConnect));
    end;
  (*  if(CreateThread(0,0,Connecting,(LPVOID)sConnect,0,0)==0)*)
  (*   break;*)
end;
 
Ответить с цитированием