Hacker News new | ask | show | jobs
by igitur 380 days ago
Long time user of HeidiSQL here. I respect the author a lot. He's been tirelessly working on this project for many years, mostly alone. Of course, that's due to the closed nature of Delphi.

It's great news that this is now available for Linux, but the better news for me is that I can now build it on Lazarus / FreePascal. Even if it doesn't support all the features (eg MSSQL), at least I can now contribute fixes for some UI issues that have been bothering me.

I can successfully build the FreePascal version on Windows and it runs... fine. Feels a little less snappy than the Delphi version and there are some UI padding issues. But it's a massive step in the right direction.

If you can, please support this project, either financially or through code. contributions. IHMO what is dearly needed is for the different SQL dialects to be abstracted out properly. It's currently done in a bit of a crude way (no disrespect to the author) and it will require a big refactoring to get it right, but will open doors to more dialects.

1 comments

Very good news that the Freepascal version compiles and works correctly also on Windows. As you said, Delphi was a huge barrier to prevent other developers to contribute, but if we can use Lazarus, Heidi can receive a lot of help not only for Linux version but also for Windows one. Probably, thanks to Freepascal / Lazarus, it can be ported easily also to Mac OS now.
> easily

Depending on how OS-independent it is, it might just be a matter of opening the project file and selecting Run -> Build (yes, the fact that Build is under Run is something that always bothered me, but it has been like that for 22+ years now). However the resulting app will be very "win-like" and when i was making macOS builds using Lazarus back when i cared about macOS i always had a "Macize" function i called at startup (ifdef'd for mac builds) that did things like replace the Ctrl modifier shortcuts with Command in menus (you can enumerate the menus, no need to do that by hand), move the About command to the apple menu, etc. There are also some other things that you may feel like doing.

TBH one thing that i wish was possible with Lazarus (at the time, now i don't care much :-P) was to be able to define different "layouts" per widgetset in a way that allowed you to use, say, a 'default' layout for Windows and Linux but a modified layout for macOS. Technically it is possible to design a form and then have another form inherit from it and apply modifications there, but it feels kinda awkward to use for different layouts (it is mainly meant for creating forms that you want to reuse but still have modifications - and it can be clunky in how it decides when to ignore changes in the base form or not - i do not use visual form inheritance, but i do use frames to design reusable controls visually and i often have to edit the source code of form files that use frames to remove overrides after saving the form so that changes to the frame are reflected in all forms that use it - this makes me want to add a readonly property to frames at some point :-P).

These days Delphi has community license for non-commercial use
Right, but having a unique codebase and one development tool for Linux, Windows and Macos (probably), would help a lot to reduce the effort to maintain the application.
Since Linux version works, I wonder if it could work on Mac, too?