wmext.pp 994 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. unit wmext;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, HTTPDefs, websession, fpHTTP, fpWeb,
  6. fpjsonrpc, webjsonrpc, fpextdirect, fpjson;
  7. type
  8. { TDemoClass }
  9. TDemoClass = class(TExtDirectModule)
  10. Add: TJSONRPCHandler;
  11. procedure AddExecute(Sender: TObject; const Params: TJSONData; out Res: TJSONData);
  12. procedure DataModuleCreate(Sender: TObject);
  13. private
  14. { private declarations }
  15. end;
  16. var
  17. DemoClass: TDemoClass;
  18. implementation
  19. {$R *.lfm}
  20. { TDemoClass }
  21. procedure TDemoClass.AddExecute(Sender: TObject;
  22. const Params: TJSONData; out Res: TJSONData);
  23. Var
  24. A,B : TJSONData;
  25. begin
  26. If (Params is TJSONArray) then
  27. begin
  28. A:=TJSONArray(Params).Items[0];
  29. B:=TJSONArray(Params).Items[1];
  30. Res:=TJSONFLoatNumber.Create(B.AsFloat+A.AsFloat);
  31. end;
  32. end;
  33. procedure TDemoClass.DataModuleCreate(Sender: TObject);
  34. begin
  35. Kind:=wkOneShot;
  36. Cors.Enabled:=True;
  37. end;
  38. initialization
  39. RegisterHTTPModule('demo', TDemoClass);
  40. end.