Не судите строго я в программировании новичок самоучка.
Проблема вот такая
Через телнет соедняюсь с ххх приложением и шлю ему запросы.
Если получать ответ на запросы в обработчике событий TForm1.IdTelnet1DataAvailable то ответ приходит и нет никаких проблем
но мне получить ответ в глобальной переменной типа String
я делаю это так (пример ниже) и после вызова процедуры Send_Telnet(command); в переменной String_response пустота.
Помогите пожалуйста , уже начал головой бится об стену , отблагодарю как смогу.
PHP код:
implementation
{$R *.dfm}
//************************************************************************
procedure TForm1.IdTelnet1DataAvailable(Sender: TIdTelnet; const Buffer: String);
begin
String_response:= Buffer;
Status_response:= True;
//Form1.caption:=Buffer;
end;
//************************************************************************
procedure TForm1.Send_Telnet(command: string);
var
i : LongWord;
begin
IdTelnet1.Host := 'localhost';
IdTelnet1.port := 6060;
if not(idTelnet1.Connected) then
try
IdTelnet1.Connect;
except
ShowMessage('not connect');
end;
if idTelnet1.Connected then
Begin
String_response:='';
Status_response:= False;
idTelnet1.WriteLn(command);
while Status_response do ;
end;
end;
если закоментировать в процедуре procedure TForm1.Send_Telnet(command: string); строку String_response:=''; и через Button отправлять запрос , то возврат ответа появляется только пр нажатии на кнопку второй раз
PHP код:
procedure TForm1.Button6Click(Sender: TObject);
begin
Form1.caption:='';
Send_Telnet('<request><get_camera></get_camera></request>');
Form1.caption:=String_response;
String_response:='';
end;