mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-16 16:25:54 +01:00
107 lines
2.1 KiB
ObjectPascal
107 lines
2.1 KiB
ObjectPascal
unit ReceiverForm;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows,
|
|
Messages,
|
|
SysUtils,
|
|
Variants,
|
|
Classes,
|
|
Graphics,
|
|
Controls,
|
|
Forms,
|
|
Dialogs,
|
|
StdCtrls,
|
|
StompClient,
|
|
StompTypes,
|
|
ExtCtrls;
|
|
|
|
type
|
|
TForm1 = class(TForm, IStompClientListener)
|
|
Edit1: TEdit;
|
|
Button1: TButton;
|
|
Button5: TButton;
|
|
Memo1: TMemo;
|
|
Button3: TButton;
|
|
Button4: TButton;
|
|
Button6: TButton;
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure Button5Click(Sender: TObject);
|
|
procedure Button4Click(Sender: TObject);
|
|
procedure Button3Click(Sender: TObject);
|
|
procedure Button6Click(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
|
|
private
|
|
stomp: IStompClient;
|
|
th: TStompClientListener;
|
|
|
|
public
|
|
procedure OnMessage(StompFrame: IStompFrame);
|
|
end;
|
|
|
|
var
|
|
Form1: TForm1;
|
|
|
|
implementation
|
|
|
|
uses
|
|
DateUtils;
|
|
{$R *.dfm}
|
|
|
|
procedure TForm1.Button1Click(Sender: TObject);
|
|
begin
|
|
stomp.Subscribe(Edit1.Text);
|
|
end;
|
|
|
|
procedure TForm1.Button3Click(Sender: TObject);
|
|
begin
|
|
stomp.Unsubscribe(Edit1.Text);
|
|
end;
|
|
|
|
procedure TForm1.Button4Click(Sender: TObject);
|
|
begin
|
|
th.StopListening;
|
|
FreeAndNil(th);
|
|
stomp.Disconnect;
|
|
end;
|
|
|
|
procedure TForm1.Button5Click(Sender: TObject);
|
|
begin
|
|
stomp.Subscribe(Edit1.Text, amAuto, StompUtils.NewHeaders.Add(TStompHeaders.NewDurableSubscriptionHeader('pippo')));
|
|
end;
|
|
|
|
procedure TForm1.Button6Click(Sender: TObject);
|
|
begin
|
|
stomp.Connect('localhost', 61613, 'myclientid');
|
|
th := TStompClientListener.Create(stomp, Self);
|
|
end;
|
|
|
|
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
begin
|
|
if assigned(stomp) then
|
|
begin
|
|
if assigned(th) then
|
|
begin
|
|
th.StopListening;
|
|
th.Free;
|
|
end;
|
|
stomp.Disconnect;
|
|
stomp := nil;
|
|
end;
|
|
end;
|
|
|
|
procedure TForm1.FormCreate(Sender: TObject);
|
|
begin
|
|
stomp := TStompClient.Create;
|
|
end;
|
|
|
|
procedure TForm1.OnMessage(StompFrame: IStompFrame);
|
|
begin
|
|
Caption := DateTimeToStr(StompUtils.TimestampAsDateTime(StompFrame.GetHeaders.Value('timestamp')));
|
|
end;
|
|
|
|
end.
|