Borland C++ Builder 6 ошибка при использовании connect с winsock2
Ошибка при использовании connect в winsock2 Borland C++ Builder 6. В коде приведённом ниже connect возвращает integer -1. IP адрес и порт верные - дело не в firewall, поскольку созданное приложение в windows xp(без антивируса и с выключенным брандмаумером) как и в windows 10 возвращает так же -1. Если порт исправить на не существующий результат так же будет -1. Как исправить в чём дело?
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "winsock2.h"
TForm1 *Form1;
WSADATA wsaDate;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
WORD DLLVersion = MAKEWORD(2,1);
if (WSAStartup(DLLVersion,&wsaDate) != 0) {exit(0);}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SOCKET s;
sockaddr_in saddr;
int iii;
if (INVALID_SOCKET == (s = socket(AF_INET,SOCK_STREAM,0))) {exit(0);}
memset(&saddr,0,sizeof(saddr));//ZeorMemory(&saddr,sizeof(saddr));
saddr.sin_family = AF_INET;
saddr.sin_addr.S_un.S_addr = inet_addr("149.154.68.56");
saddr.sin_port = 80;
iii = (connect(s,(sockaddr *) &saddr,sizeof(saddr)));
if (SOCKET_ERROR == iii){
Memo1->Lines->Add("error");
Memo1->Lines->Add((AnsiString)(iii));
//exit(0);
}
}
//---------------------------------------------------------------------------