That’s a really good question…
For the last two years, I’ve had nearly no spare time to work on my projects.
I’m still working on my FDK Version 2.0. As always, it’s hard to find the right moment to finally call it “ready.”
A trial version with demos in GetIt is still on my to-do list.
The formatter part has been extracted into my own source code formatter!
(I’ll explain more about that later).
The old version of my MVVM plugin is still not updated to the current version, which itself is also not yet ready!
I’ve been focusing a bit on AI work: my neural network is now running as a compute shader on the GPU.
That’s nice… but being able to use a file from Hugging Face with it is not on the horizon yet.
The ORM part of my FDK is working nicely, and the connection (interface) to my MVVM (Model) is also functional. Some units are still missing, but overall, it looks promising.
For the web: My DelphiScript just-in-time compiler is running. With its ISAPI.dll implementation, you can mix HTML and DelphiScript in one file. There’s also a frame/template handler to create master pages to inherit from (works perfectly with Bootstrap).
For the never-ending story of converting my big non-Unicode application to Unicode, I’m building a source code analyzer (based on my tokenizer from the formatter project). This tool can find all ShortString method parameters.
So, if I change a method signature from
var s: ShortString to const s: String,
I automatically get a list of all calls to and from that method, including the necessary local variable changes.
The next step would be an auto-change plus background compilation to check the impact. Being able to also auto-generate a unit test on the fly (perhaps with ChatGPT) would be a dream.
Using my own NN for unit optimization is still in a pre-alpha state and not working as I’d like.
Perhaps you already noticed: There is no formatter in Delphi 13 anymore. I never used the built-in formatter anyway, because I have my own rules developed over the last 40 years for formatting Pascal/Delphi code. No formatter has ever been able to follow my rules!
That’s why I started writing my own formatter years ago.
My formatter must be able to:
- Format the default Borland style, and
- also fulfill my own very specific needs.
That’s why I created a plugin system for all parts of a Delphi unit. Want your own style for uses, var, or type declarations? Fine — just write a DLL that implements your needs. Your DLL will be called with all necessary information, and you only need to return the source well-formatted. Only the parts you want to change must be implemented! With this approach, any coding style can be supported.
I can explain my concept in more detail if needed. Perhaps I’ll even do a webinar on the topic. If you have spare time — and are not afraid of interfaces, pointers, and OOP — I could really use a helping hand. (But please, don’t contact me if you only want to peek at the source code!)
What I still need:
- More unit tests
- and lots of “bad vs. perfect” source examples in different coding styles for testing.
But that's all for today - more about the source formatter will be covered by another blog post later this year!
Stay tuned!