Компоненты Synapse под Linux

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Компоненты Synapse под Linux

Сообщение veresk » 12.03.2013 21:07:13

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 сделать, то есть скачать страничку можно, если чуток попинать код. А мне раздавать файлик надо..
veresk
новенький
 
Сообщения: 48
Зарегистрирован: 31.01.2012 12:23:32

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 243

Рейтинг@Mail.ru