Vadim писал(а):Попробуйте без libc обойтись.
Пробую. Но там есть примеры где только жёстко прописанный uses windows, гениально вообще. Остальные примеры пробую. Они вообще какие-то странные, LPR файлов нет, приходится сперва создавать проект, а потом из примеров куски кода копировать. чтоб хоть посмотреть, о чём оно.
Alexx2000 писал(а):Я вообще не пойму откуда взялась зависимость от Libc. Synapse не использует его при компиляции с помощью fpc, он нужен только при сборке kylix'ом.
А уж как я-то не пойму!
Alexx2000 писал(а):И неудивительно, все эти примеры для Delphi/Kylix. Чисто для Free Pascal примеры лежат в подкаталоге FreePascal. Тут надо как вы и написали, вручную выкидывать Libc из uses, и пробовать компилировать.
Нашёл, там чуть-чуть примеров, но именно для FP, не для Lazarus. Попробовал использовать код из httpsend.pas, вот так примерно:
- Код: Выделить всё
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, httpsend;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
procedure TForm1.Button1Click(Sender: TObject);
var
HTTP: THTTPSend;
l: tstringlist;
begin
HTTP := THTTPSend.Create;
l := TStringList.create;
try
if not HTTP.HTTPMethod('GET', Paramstr(1)) then
begin
writeln('ERROR');
writeln(Http.Resultcode);
end
else
begin
writeln(Http.Resultcode, ' ', Http.Resultstring);
writeln;
writeln(Http.headers.text);
writeln;
l.loadfromstream(Http.Document);
writeln(l.text);
end;
finally
HTTP.Free;
l.free;
end;
end;
end.
Радость - оно собирается без ошибок. Печалей две: при клыц-клыц по кнопке совершенно ничего не происходит и вторая - я совершенно не понимаю из этих двух десятков строк, что должно произойти, даже куда там и на что тест подставить для проверки работы. В примерах других, хотя бы, видно было, что вот процесс, вот порт на который сервис повиснет, а тут ровненько всё и жутко непонятно.
Добавлено спустя 8 минут 44 секунды:
Понял о чём этот пример. Это показано, как GET сделать, то есть скачать страничку можно, если чуток попинать код. А мне раздавать файлик надо..