добрый день
пытаюсь перенести приложение
Delphi (неизвестная версия, но, видимо, не сильно старая)
Lazarus - 2.0.12/2.2.0
fpc - соотв. версиям Lazarus
приложение предназначено для тестирования «сетевых технологий» (отправка/прием)
в лоб конвертировать приложение не получилось
menu/Tools/Delpi Conversion
в ручном режиме создал проект, добавил компоненты на форму, перетащил код:
1я часть/сервер работает (слушает порт, принимает запросы, выводит в TMemo)
2я часть/клиент уперлась в компонент THTTPClient. пытался заменить на «аналогичные», получал исключение
THTTPClient
-->
FPHTTPClient / use fphttpclient
IdHTTP / Indy-10.6.2.0
идеи, пендили, помидоры... приветствуются :о)
спасибо
зы !!! (приложение не мое) !!! , и в сет. технологиях как ... короче, тема не мая :о)
mClientLog : TMemo;
procedure TForm1.btnGetClick(Sender: TObject);
var
SS: TStringStream;
HttpClient: THTTPClient;
begin
SS := TStringStream.Create('', TEncoding.UTF8);
try
HttpClient := THTTPClient.Create();
try
HttpClient.Get(teURL.Text, SS);
mClientLog.Lines.Add(SS.DataString);
finally
HttpClient.Free;
end;
finally
SS.Free;
end;
end;
function TForm1.PostRequest(const AURL: String; ASource: TStrings): TStream;
var
SS: TStringStream;
HttpClient: THTTPClient;
begin
Result := TStringStream.Create('', TEncoding.UTF8);
try
HttpClient := THTTPClient.Create();
try
HttpClient.Post(AURL, ASource, Result);
finally
HttpClient.Free;
end;
except
Result.Free;
raise;
end;
end;
////////////////////////////////////////////////////////////////////////////////
//
// пытался заменить на TFPHTTPClient - вызывает исключение
// -> exception - Invalid Protocol: ""
//
////////////////////////////////////////////////////////////////////////////////
function TForm1.PostRequest(const AURL: String; ASource: TStrings): TStream;
var
SS: TStringStream;
HttpClient: TFPHTTPClient; //
begin
Result := TStringStream.Create('', TEncoding.UTF8);
try
HttpClient := TFPHTTPClient.Create(nil);
try
HttpClient.Post(AURL, ASource); // -> exception - Invalid Protocol: ""
finally
HttpClient.Free;
end;
except
Result.Free;
raise;
end;
end;