com_impl.pas 985 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. unit com_impl;
  2. // Comtest from Anton K. mantis #35013
  3. {$WARN SYMBOL_PLATFORM OFF}
  4. interface
  5. {$ifdef fpc}{$mode delphi}{$endif}
  6. uses
  7. ComObj, com_serv_TLB;
  8. type
  9. TTestApp = class(TAutoObject, ITestApp)
  10. private
  11. stor:widestring;
  12. protected
  13. procedure test(const text: WideString); safecall;
  14. procedure test_ret(var res: OleVariant); safecall;
  15. public
  16. procedure Initialize;override;
  17. end;
  18. implementation
  19. uses comserv,sysutils;
  20. procedure TTestApp.Initialize;
  21. begin
  22. inherited;
  23. end;
  24. procedure TTestApp.test(const text: WideString);
  25. begin
  26. stor:=formatdatetime('yyyy-mm-dd hh:nn:ss',now)+': '+text;
  27. writeln(stor);
  28. end;
  29. procedure TTestApp.test_ret(var res: OleVariant);
  30. begin
  31. writeln('Got: '+widestring(res));
  32. res:=widestring('zzzz');
  33. // res:=formatdatetime('yyyy-mm-dd hh:nn:ss',now)+': '+widestring(res);
  34. writeln(res);
  35. end;
  36. initialization
  37. TAutoObjectFactory.Create(ComServer, TTestApp, Class_TestApp,
  38. ciMultiInstance, tmApartment);
  39. end.