channeldemo.lpr 807 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. library channeldemo;
  2. uses sysutils, wasm.messagechannel.objects;
  3. Type
  4. { TApp }
  5. TApp = Class(TObject)
  6. FChannel : TWasmMessageChannel;
  7. FCounter : Integer;
  8. procedure SendMessage;
  9. constructor create;
  10. end;
  11. var
  12. App : TApp;
  13. procedure SendMessage;
  14. begin
  15. App.SendMessage;
  16. end;
  17. exports SendMessage;
  18. { TApp }
  19. procedure HandleMessage(Sender: TObject; const aMessage: string);
  20. begin
  21. Writeln('WASM received on "some_channel" a message: ',aMessage);
  22. end;
  23. procedure TApp.SendMessage;
  24. var
  25. S : string;
  26. begin
  27. inc(FCounter);
  28. S:=Format('This is message #%d.',[FCounter]);
  29. FChannel.SendMessage(S,False);
  30. end;
  31. constructor TApp.create;
  32. begin
  33. FChannel:=TWasmBroadcastMessageChannel.Create('some_channel');
  34. FChannel.OnMessage:=@HandleMessage;
  35. end;
  36. begin
  37. App:=TApp.Create;
  38. end.