пишу свой клас:
class TGetFile
{
private:
TClientSocket* FileSocket;
void __fastcall OnClientSocketRead(TObject *Sender, TCustomWinSocket *Socket);
public:
TGetFile(AnsiString ServerIP, int ServerPort);
~TGetFile();
};
//---------------------------------------------------------------------------
TGetFile::TGetFile(AnsiString ServerIP, int ServerPort)
{
FileSocket = new TClientSocket(NULL);
FileSocket->Active = false;
FileSocket->Host = ServerIP;
FileSocket->Port = ServerPort;
FileSocket->ClientType = ctNonBlocking;
FileSocket->OnRead = OnClientSocketRead;
FileSocket->Open();
}
//---------------------------------------------------------------------------
TGetFile::~TGetFile()
{
if(FileSocket->Active)
while(FileSocket->Active)
{
Application->ProcessMessages();
FileSocket->Close();
}
delete FileSocket;
}
//---------------------------------------------------------------------------
в проге следующие строчки
TGetFile *GetFile = new TGetFile("127.0.0.1", 7777);
//работа с классом
delete GetFile;
до сервера вообще ни каких действий...
молчит и всё.
Если же код создания сокета в самой проге написать то всё ок.
void __fastcall TForm1::Button2Click(TObject *Sender)
{
FileSocket = new TClientSocket(NULL);
FileSocket->Active = false;
FileSocket->Host = "127.0.0.1";
FileSocket->Port = 7777;
FileSocket->ClientType = ctNonBlocking;
FileSocket->Open();
}
В чём трабла?