A in 2018 the reliabiltiy of SourceForge seemed to be way down and getting worse. Back then, I moved several of my open source projects to OSDN which used an older version of the SourceForge software and was hosted in Japan. They have served me quite well over the years, but unfortunately they have been … Continue reading OSDN is dead
Category: Delphi
Pre-sets for the GExperts stand alone Grep tool
When running stand alone, GExperts Grep Results can not be opened in the IDE. Instead an external text editor is used. This editor and the required parameters to open the file and set the cursor at the desired line and column must be configured in the File → Options menu. I have now added buttons with the … Continue reading Pre-sets for the GExperts stand alone Grep tool
while TStream_TryRead() do
It has always irked me that in C you can write: [c] while (0<(BytesRead=Read(...))) { // .. } [/c] But in Delphi you have to use the much less readable [delphi] BytesRead := Stream.Read(Buffer, BufSize); while BytesRead > 0 do begin // .. BytesRead := Stream.Read(Buffer, BufSize); end; [/delphi] Today I had enough and wrote … Continue reading while TStream_TryRead() do
Testing zlib compression in Delphi
Delphi has for a while contained two classes that simplify stream compression: TZCompressionStream TZDecompressionStream I had not used them before and when I tried to use them now to compress and decompress some binary data that is stored as part of a large file, I got some inexplicable results. So I wrote this little test … Continue reading Testing zlib compression in Delphi
Interface unit for the 7zip DLL
Note to self: mORMot2 contains an interface unit for the 7zip DLL: https://github.com/synopse/mORMot2/blob/master/src/lib/mormot.lib.win7zip.pas
Getting the command line parameters of an executable
I'm currently trying to reverse engineer a tool that consists of a frontend with a really dreadful GUI and a command line program as backend, which is called by that frontend and does the actual work. The idea is to write my own frontend that does some additional preparatory work, then calls the backend and … Continue reading Getting the command line parameters of an executable
dzMdbViewer 1.0.4 released
dzMdbViewer is a small tool I wrote, when I was stuck without a MS Access installation but needed to have a look into a .MDB file (and later .ACCDB file, if the Access Database Engine 2012 is installed). It can open these files and display a list of queries and tables stored in them as … Continue reading dzMdbViewer 1.0.4 released
GExperts 1.3.22 experimental twm 2023-03-25 released
The new GExperts version still supports all Delphi versions back to Delphi 6 (with the notable exception of Delphi 8) and even the Delphi 11 version is no longer in Beta state. There are even a few new features: Fast add mode for the Uses Clause Manager is back. Uses Clause Manager: Units "System" and … Continue reading GExperts 1.3.22 experimental twm 2023-03-25 released
Setting a form’s bounds can cause the DPI to change
Note to self: Setting a form's bounds can move the form to a different monitor. If that monitor has a different DPI than the one the form was originally on, this will cause a WM_DPICHANGED message to be sent to the form, which in turn will change the form's bounds again. This happened, for example, … Continue reading Setting a form’s bounds can cause the DPI to change
When showing a hint causes an Access Violation
I have just updated my last blog post regarding another effect of the Screen object caching the monitor configuration: Displaying a hint (via standard Delphi VCL functionality) causes an access violation. The solution is again to access the form's monitor property. Unfortunately, it's not that simple, as there is no user action that causes the … Continue reading When showing a hint causes an Access Violation