In Part 1 I was ranting about input validation, now it's about form sizes. In my previous post I already said that I am not a big fan of fixed size dialogs. They are fine as long as they are large enough to show all of their content, but as soon as there is a … Continue reading Building less annoying user interfaces (Part 2)
Author: dummzeuch
Some remarks on “How Design a Great UI”
David Millington has published his third blog post on How to Design a Great UI. While I agree with many of his points I disagree with some others. So here is what I disagree with and why: Use BorderStyle bsDialog This means several things: The dialog has a thicker border than usual The dialog has … Continue reading Some remarks on “How Design a Great UI”
InplaceExeWrapper for those tools that do not allow specifying an output file
There are a lot of command line tools that are very useful, but have one flaw: They directly modify a file in place and do not allow you to specify an output file instead. So, if you e.g. want to compare the modified file to the original, you have to make a copy first. Or, … Continue reading InplaceExeWrapper for those tools that do not allow specifying an output file
List of my open source projects
Since I keep forgetting which project is hosted where, here is a list of all(?) my open source projects as of 2018-10-06 with links to the pages where they are being hosted. Most of them are written in Delphi with some Lazarus (for Windows) sprinkled in. My old homepage still lists other stuff, some of … Continue reading List of my open source projects
Denkzettel Companion 0.0.5 released
I have just released version 0.0.5 of my Denkzettel Companion tool. It is available from OSDN. This version fixes a bug that prevented the program to start when the notes directory did not exist. (Since nobody reported that problem, probably nobody but me has ever used the tool.) Also, I have moved that project to … Continue reading Denkzettel Companion 0.0.5 released
On User Interface design
There have been two good blog posts on user interface design (not just in) Delphi by David Millington: How To Design a Great UI - Part 1 and Part 2. They add nicely to what I wrote in my rant Building less annoying user interfaces (part 1). (And they read much more professional than that … Continue reading On User Interface design
Calling Application.ProcessMessages in a Delphi program
Using Application.ProcessMessages is being frowned upon by many because often it means that your program design is flawed. These people usually suggest you should use multi-threading instead, which then opens another can of worms. First of all, let me make clear, that I am talking about Windows programs written in Delphi using the Visual Component … Continue reading Calling Application.ProcessMessages in a Delphi program
Delphi LongWord is not always a 32 bit unsigned integer
Did you know that LongWord in Delphi is not (any longer) always a 32 bit unsigned integer? I wasn't aware of this until I asked about what others use for that data type in the Delphi Developers Google+ community. I turned out that the majority of the participants use Cardinal, followed by Uint32. Only less … Continue reading Delphi LongWord is not always a 32 bit unsigned integer
NativeInt / NativeUInt type in various Delphi versions
Just in case you are maintaining Delphi code for several older versions of Delphi: Be aware that the declarations of NativeInt and NativeUInt are wrong in some of them. Delphi versionSizeOf(Native(U)Int) Win32SizeOf(Native(U)Int) Win64 1 to 6not availablenot available 7 to 20078 ← this is wrongnot available 2009 to XE4not available XE2 to XE848 10.x48 I … Continue reading NativeInt / NativeUInt type in various Delphi versions
If your floating point calculations differ after a trivial change
Today I had a curious bug: After changing the way GPS coordinates were read from a file (not calculated!) all of a sudden lots of unrelated floating point calculations had different results. I reverted the changes just to be sure and, yes, the results were back to the original values. I added the new code … Continue reading If your floating point calculations differ after a trivial change