-
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 ExcellentRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
ScroogeXHTML for Object Pascal 9.4 - New Symbol Font Support Added
mjustin posted a topic in Delphi Third-Party
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) -
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.
-
Used it between 2005 and around 2010 with Delphi 7 (and maybe 2009). If I remember correctly, it worked well.
-
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."
-
Efficient RTF First-Paragraph Extraction and HTML Conversion Component
mjustin posted a topic in Delphi Third-Party
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 -
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.
-
Feature Request for the Delphi Language (Rethink or Eliminate the Concept of Units)
mjustin replied to dmitrybv's topic in Algorithms, Data Structures and Class Design
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: -
Letting AI Handle the Docs: Experiments with Doxygen Comment Blocks
mjustin posted a topic in Tips / Blogs / Tutorials / Videos
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/ -
ScroogeXHTML for Object Pascal 9.2.1 - fast RTF to HTML5 conversion
mjustin replied to mjustin's topic in Delphi Third-Party
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? -
ScroogeXHTML for Object Pascal 9.2.1 - fast RTF to HTML5 conversion
mjustin replied to mjustin's topic in Delphi Third-Party
Thank you for reporting - I have fixed the error, please try again. -
ScroogeXHTML for Object Pascal 9.2.1 - fast RTF to HTML5 conversion
mjustin posted a topic in Delphi Third-Party
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) -
In this case, JclDebug or madExcept (commercial) may be useful. They can be used to include detailed information about exceptions, including stacktraces.
-
How to know when TIdHTTPServer threads are done
mjustin replied to narag's topic in Network, Cloud and Web
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. -
Delphi & HTTP Authentication: Basic and Digest Access Authentication
mjustin replied to msd's topic in Network, Cloud and Web
Which HTTP client / component / library is used? (Indy, ICS, ...) -
A first example is now online at https://habarisoft.com/daraja_framework.html More examples will follow. Many thanks for your suggestion!