Jump to content

mjustin

Members
  • Content Count

    88
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by mjustin

  1. A new version of the open source logging facade slf4p is now available on GitHub. It introduces a StringBuilder-based logger, which stores all messages in memory (use cases: testing of correct program execution flow, disk-less operation). The slf4p logging facade supports Log4D, LazLogger, and three bundled logger implementations (SimpleLogger, StringsLogger and NOPLogger). It is already used in production-ready libraries, including the Daraja HTTP Server framework. Project home page: https://github.com/michaelJustin/slf4p log4d resources - http://sourceforge.net/projects/log4d/ - https://github.com/michaelJustin/log4d (fork with small fixes) - https://mikejustin.wordpress.com/2012/09/12/delphi-and-free-pascal-logging-with-the-log4d-open-source-library/
  2. Habarisoft released new versions of its Object Pascal STOMP client libraries for integration with popular open source message brokers. Habari Client for ActiveMQ 6.10 - tested with Apache ActiveMQ 5.16.2 Habari Client for Artemis 6.10 - tested with ActiveMQ Artemis 2.17.0 Habari Client for OpenMQ 6.10 - tested with Eclipse GlassFish 6.0 Habari Client for RabbitMQ 6.10 - tested with RabbitMQ 3.8.17 Release notes can be found at: https://www.habarisoft.com/release_notes.html Message Transformation API Added a check that the map message transformation ID and the object message transformation ID are not equal Removed unit tests for old (deprecated) message transformation API Added unit test for new message transformation API, using MQContext API (which has been introduced in version 6.0) Added a compiler warning which appears when the old (deprecated) message transformation API is enabled Implement interface IMessageTransformerSupport in class TBTMQContext when the old (deprecated) message transformation API is enabled Moved message transformation IDs for the transformation API to the broker-specific unit BTBrokerConst Other Removed experimental TCP keep-alive feature, instead the STOMP heart-beating may be used Improved handling of incoming heart-beat (EOL bytes) Removed a check for incoming heart-beats when no heart-beats are expected, this caused higher timeout times for Receive(Integer) method calls Further resources and demo applications Home page: https://www.habarisoft.com/ About Habari Client libraries Habari Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology - which is distributed, loosely coupled, reliable and asynchronous - to build integrated systems, using peer-to-peer and publish-subscribe communication models.
  3. The specification document for AMQP 1.0 is 113 pages long, and there are incompatible versions ("1.0" vs "0-9-1") used by major message brokers. I am happy with the feature set of STOMP, it even allows to use broker-specific extensions, beyond the core protocol specification.
  4. Thank you for your suggestion, IBM MQ however does not contain a Stomp client connector, which is required for the Habari Client libraries. The linked page shows that other options exists, some of them might be usable from Delphi/Free Pascal.
  5. ScroogeXHTML for Delphi is a library which supports a subset of the Rich Text Format (RTF) standard. It converts RTF to HTML5 and XHTML standalone documents, or to fragments which can be embedded in other documents. Besides HTML5, it also supports HTML 3/Flex, HTML 4.01 Strict and Transistional, and various XHTML versions. It is compatible with Delphi 2009+ and Free Pascal 3. Version 7.2 introduces support for embedded PNG and JPEG images using Data URI. Home page, API, Getting Started PDF, full release notes and demo download: https://www.scroogexhtml.com/scroogexhtml_delphi.html
  6. Thanks! It will not work with ARC, so yes, there are limitations. But besides this it should work even on Linux with Delphi 10.3 (but this is not "officially" supported). For the adventurous developers out there, it is available for the Java platform 😉
  7. Habari Client libraries 2021.02 Habarisoft released new versions of its Object Pascal STOMP client libraries for integration with popular open source message brokers: Habari Client for ActiveMQ 6.8 – tested with Apache ActiveMQ 5.16.0 Habari Client for Artemis 6.8 – tested with ActiveMQ Artemis 2.16.0 Habari Client for OpenMQ 6.8 – tested with Eclipse GlassFish 6.0.0 Habari Client for RabbitMQ 6.8 – tested with RabbitMQ 3.8.9 and 3.8.11 Improved map/object message transformation API Register two message transformers – one for map messages, one for object messages – on the same connection Use any custom transformation id value (transformation id’s are no longer limited to a hard-coded set) Unit tests for map message and object message transformation are included Documentation for map and object message exchange is updated The old map/object message transformation API still included, but disabled and marked as deprecated Other changes Added support for Artemis queue browser API Migrated management API client from SuperObject to JsonDataObjects Installer applications are now digitally signed Console output for unit test logging now includes test class name and test method name Removed support for OmniXML and Superobject Fixed Free Pascal 3.2.0 warnings about uninitialized values Fixed failing unit tests for Artemis Added a test for ActiveMQ queue browser API 20% to 70% discount You may purchase licenses now with a 20% discount if you use code habari202102delphi in the order form. This special offer is limited until 31 March 2021. Existing license holders with expired access to updates qualify for 30% discount. License holders within the first year after purchase qualify for 70% discount. Offer may not be combined with any other coupons, discounts, offers, or promotions. Further resources and demo applications Home page: https://www.habarisoft.com/ About Habari Client libraries Habari Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.
  8. Habari Client library for RabbitMQ: 6.8 beta 1 released Habarisoft released version 6.8 beta 1 of its Object Pascal STOMP client library for integration with the RabbitMQ open source message broker. Improved map/object message transformation API Send and receive map and object messages with a single message transformer on the connection Transformation id values are no longer restricted to a hard-coded set Unit tests included for map message and object message transformation Updated documentation for map and object message exchange Old API still included (but marked as deprecated) Existing license holders qualify for up to 70% discount. Please contact Habarisoft to receive your discount code for your order. This offer may not be combined with any other coupons, discounts, offers, or promotions. Download https://www.habarisoft.com/habari_rabbitmq/download/snapshot/habari-rabbitmq-6.8-b1-installer.exe Resources and demo applications Home page: https://www.habarisoft.com/ About Habari Client libraries Habari Client libraries enable Object Pascal applications to take advantage of message broker / message queue technology – which is distributed, loosely coupled, reliable and asynchronous – to build integrated systems, using peer-to-peer and publish-subscribe communication models.
  9. mjustin

    How to log raw data on Android?

    There is a specific implementation for writing Indy raw data to a log file, TIdInterceptSimLog in unit IdInterceptSimLog. Intercept := TIdInterceptSimLog.Create; Intercept.Filename := (create the file name); Your implementation uses the abstract class TIdLogEent, which is an abstract class, because it does not implement the abstract methods of its parent class TIdLogBase,
  10. mjustin

    Payment - Monetization - Good international PSP

    PSP leaves most tax related things to the seller (you). BlueSnap says "Most BlueSnap customers are responsible for collecting taxes themselves. For guidance, please contact a tax specialist.". For oversea sales, other companies, which also do all tax related processing, might save you some time and money.
  11. A simple way is to declare a new class, which has a private field IdTCPServer of type TIdCustomTCPServer and a method which matches the signature of the IdTCPServer.OnExecute event handler: TMyClass = class(TObject) private IdTCPServer: TIdCustomTCPServer; procedure MyOnExecute(AContext: TIdContext); public constructor Create; destructor Destroy; override; procedure Run; ... constructor TMyClass.Create; begin IdTCPServer := TIdCustomTCPServer.Create; IdTCPServer.OnExecute := MyOnExecute; end; Instantiate this class and let it create, configure and start the IdTCPServer instance.
  12. The develop branch of the Daraja HTTP Framework includes a new tutorial with the full source code for a web server application which implements OAuth 2.0 authorization to access Google APIs. The example calls the Google Drive API to display the result of a ‘files’ request, which contains the files on the My Drive page of the user account in JSON format. Requirements: * Google account (with access to the developer console) * a Google API project with an OAuth 2.0 client ID * the client_secret.json file with the project configuration * OpenSSL DLLs * Lazarus 2.0 or Delphi 2009+ * SuperObject (for Delphi) More information: Google API access with OAuth 2.0 authorization for Daraja HTTP Server Applications (full source code) About Daraja HTTP Framework: * GitHub: https://github.com/michaelJustin/daraja-framework * Wiki: https://github.com/michaelJustin/daraja-framework/wiki * API Docs: http://michaeljustin.github.io/daraja-framework/ Happy coding, Michael Justin
  13. The Daraja HTTP Framework is a free open source library for Object Pascal (Free Pascal 3.0.4, Delphi 2009+), based on the stand-alone HTTP server component in Internet Direct (Indy). The 1.2.5 release improves UTF-8 support for Free Pascal by “using” the LazUTF8 unit. More information Home page: https://www.habarisoft.com/daraja_framework.html API documentation: https://www.habarisoft.com/daraja_framework/1.2/docs/api/ Getting started PDF: https://www.habarisoft.com/daraja_framework/1.2/docs/DarajaFrameworkGettingStarted.pdf GitHub: https://github.com/michaelJustin/daraja-framework Wiki: https://github.com/michaelJustin/daraja-framework/wiki
×