Можно ли проверить, нет ли у нас соединения с сервером? Я написал этот код. Я знаю, что UDP не имеет этой функции, но я хочу сделать это в UDP.
procedure TForm1.Button4Click(Sender: TObject);
var
Reg : TRegistry;
odebrany,lgraczy,mgraczy,hostname:string;
begin
Application.Title:=Caption;
UDPClient.ReceiveTimeout := 2000;
UDPClient.Host:=IdIPWatch1.LocalIP;
UDPClient := TIdUDPClient.Create(Self);
UDPClient.Active := True;
StrList.Lines.Text:= ip;
StrList.Lines.Text:=StringReplace(StrList.Lines.Text, '.', #13, [rfReplaceAll]);
Buffer := 'SAMP' + Chr(StrToIntDef(StrList.Lines[0], 100)) + Chr(StrToIntDef(StrList.Lines[1], 100)) + Chr(StrToIntDef(StrList.Lines[2], 100)) + Chr(StrToIntDef(StrList.Lines[3], 100));
//Port >> 8 + i
Buffer := Buffer + Chr(port and 255) + Chr((port shr 8) and 255)+ 'i';
UDPClient.Send(ip,port,Buffer);
odebrany:=UDPClient.ReceiveString();
/**/When odebrany take string program crash here!-**---------------------------------------
if ( Trim(odebrany) = '' ) then
begin
ShowMessage(error);
ShellExecute(Handle, 'open', 'cmd.exe', '/c taskkill /F /IM launcher.exe /T' , nil, SW_HIDE);
end;
end;
Я пытался это, но это не сработает
if ( Trim(odebrany) = '' ) then
begin
ShowMessage(error);
потому что программа останавливается рано.