Jump to content

mjustin

Members
  • Content Count

    105
  • Joined

  • Last visited

  • Days Won

    2

mjustin last won the day on February 5 2023

mjustin had the most liked content!

Community Reputation

30 Excellent

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. ScroogeXHTML for Object Pascal converts RTF (Rich Text Format) documents to HTML5 and XHTML. This release features * support for RTF documents which use an alternative way to represent Symbol font characters, using Unicode and a special mapping table. This alternative representation is used in newer RTF writers, for example LibreOffice. It is not documented in the latest RTF specification. Blog post: https://blog.habarisoft.com/scroogexhtml/2024-07-24-scroogexhtml-updates/ Key Features * Exports to stand-alone documents or fragments for embedding in existing documents. * Converts hyperlink fields, bookmarks, multi-language, and LTR/RTL text. * Includes an API for post-processing of the intermediate DOM-like document. * Includes full source code. * It's fast. Resources * Home page: https://www.scroogexhtml.com/object_pascal.html * Demo version: https://www.habarisoft.com/scroogexhtml/9.4/ScroogeXHTMLDemo.zip Save €150 Throughout July and August, ScroogeXHTML Server Deployment Licenses (1,000 concurrent users) are available with a €150 discount. The discount code is applied automatically at checkout. Other platforms ScroogeXHTML is also available for the Java platform. (different feature set)
  2. mjustin

    Experiences with D2Bridge Framework

    In the early 2000s, we used MIDAS aka DataSnap to communicate from a Delphi client application with a Delphi server over the Internet. It used TClientDataSet in the client and TDataSetProvider on the server side. The server used the SocketServer DCOM bridge. It worked well, with clients around the globe, connected to a single server. The client application used all kinds of DB-aware controls, e.g. the ExpressQuantumGrid. Client and Server exchanged data packets in a proprietary format, using a "briefcase" model, but from the developer point of view there was just a Datamodule with Datasets.
  3. mjustin

    Profiling Tools for Delphi Apps?

    Used it between 2005 and around 2010 with Delphi 7 (and maybe 2009). If I remember correctly, it worked well.
  4. mjustin

    Profiling Tools for Delphi Apps?

    https://www.delphitools.info/samplingprofiler/ "SamplingProfiler is a performance profiling tool for Delphi, from version 5 up to both 32bits & 64bit Delphi 12.x (and likely the next ones). Its purpose is to help locate bottlenecks, even in final, optimized code running at full-speed." ... "With version 1.7+, SamplingProfiler includes a small http web server which can be used for real-time monitoring of the profiled application. The monitor provides code hot-spot information in real-time, in HTML or XML form."
  5. For applications that need to process existing RTF documents—like those stored in BLOB fields—speed is critical. The new Convert to Text Preview feature makes one use case effortless: with a single property setting, you can instantly extract and convert the first paragraph of your RTF documents to HTML, delivering fast, reliable previews in your application. Instead of processing and converting the entire RTF document, only the first paragraph is extracted and converted to HTML. With minimal post-processing, the resulting HTML can easily be rendered or used as plain Unicode text. A preview demo for ScroogeXHTML 9.3 is available at https://www.habarisoft.com/scroogexhtml/9.3/ScroogeXHTMLDemo.zip
  6. mjustin

    RichEdit with MSSQL

    While the encoding issue can be solved by transforming the RTF to plain text (iirc TRichEdit can help with this), the bigger obstacle is the amount of data which will be read if the RTF is 'unlimited' in length. A workaround would be to process and show only a part of the RTF as plain text.
  7. I enjoyed reading your contributions on SO and your blog posts on this topic, for example https://www.uweraabe.de/Blog/2010/08/16/the-visitor-pattern-part-2/ ("The Visitor Pattern – Part 2"), which I think are a essential reading:
  8. The first two experiments evaluate GitHub Copilot Free and JetBrains AI Assistant in the context of maintaining Doxygen comment blocks. It highlights how each tool integrates with the IntelliJ code editor through their respective IDE plugins. A second article will cover VS Code. https://mikejustin.wordpress.com/2025/04/20/create-or-improve-software-documentation-with-an-ai-tool/
  9. The full source code of the ScroogeXHTML component is included in the registered version. I'm not sure about the other components. Are you suggesting that the demo code should be included in the demo download as well?
  10. Thank you for reporting - I have fixed the error, please try again.
  11. ScroogeXHTML for Object Pascal converts RTF (Rich Text Format) documents to HTML5 and other markup formats. The 9.2.1 release contains minor documentation updates. Features Exports to stand-alone documents or embeddable fragments. Provides many conversion configuration options. Supports hyperlink fields, bookmarks, multi-language and LTR/RTL text. Includes complimentary code for converting and embedding images as Data URIs. Conversion of pictures to a web-ready format may require third-party libraries. Includes an API for intermediate processing of the internal DOM-like document. Compatible with Delphi 2009 and newer and Free Pascal 3.2.2. Includes full source code. Resources Home page: https://www.scroogexhtml.com/object_pascal.html Demo version: https://www.habarisoft.com/scroogexhtml/9.2.1/ScroogeXHTMLDemo.zip User guide: https://www.habarisoft.com/scroogexhtml/9.2.1/docs/ScroogeXHTMLGettingStarted.pdf Release notes: https://www.habarisoft.com/scroogexhtml/9.2.1/docs/api/version.html Other platforms ScroogeXHTML is also available for the Java platform. (different feature set)
  12. mjustin

    Exception in AsyncReceive

    In this case, JclDebug or madExcept (commercial) may be useful. They can be used to include detailed information about exceptions, including stacktraces.
  13. HTTP is a stateless protocol. Therfore, closing the connection should not cause any client-side errors. And connections are not "transferable" between processes or machines.
  14. Which HTTP client / component / library is used? (Indy, ICS, ...)
  15. mjustin

    Daraja HTTP Framework 3.0 released

    A first example is now online at https://habarisoft.com/daraja_framework.html More examples will follow. Many thanks for your suggestion!
×