A while ago I blogged about the various possibilities for auto completion in TEdits. I created several units that supply auto completion based on a StringList files directories path (basically also directories) They all followed a basic principle: Implement IAutoComplete and IAutoComplete2 and provide different implementations for the IEnumStrings interface. They worked fine in Delphi … Continue reading Fix for Access Violation in u_dzAutocompleteStrings
Category: Delphi
New Icons for MMX
Uwe Raabe, who took over maintaining MMX Code Explorer is collecting money to pay for a designer who will create new icons for MMX Code Explorer. While I don't think that nice looking icons should be high on the priority list, it's Uwe's decision, not mine. I sent some of the money I got donated … Continue reading New Icons for MMX
The 3 different License Types for Delphi
I blogged about the Embarcadero License Center (ELC) and how to use it remotely. But I never went to the trouble of explaining the different kinds of license types that are available for Delphi (after all: I don't sell these licenses, so why bother?). But somebody else just did: CodePartners blogged about Network Licensing in … Continue reading The 3 different License Types for Delphi
Blocking the Windows Screen Saver in Delphi
Sometimes your program needs to block the screen saver from automatically kicking in. My use case was that the program was recording data and whenever the screen saver was active, the data was lost (No idea why, it probably had something to do with the way HID is implemented in Windows.) So I was looking … Continue reading Blocking the Windows Screen Saver in Delphi
Autocompletion for TEdits revisited
I wrote about autocompletion for TEdits before here and here. Back then I was using the SHAutoComplete API function in the Shlwapi.dll because I am a lazy basterd™. That hasn't changed really but I also love fiddling with stuff, so some years ago, I actually added directory and general string completion to dzlib (and apparently … Continue reading Autocompletion for TEdits revisited
Getting the Windows version revisited
In my last blog post Getting the Windows version, I claimed that there is no way to get the actual version number of Windows 10 without reading the version information of the Kernel32.dll and interpreting it 1. Since then I have been told that there is actually a Registry key that contains the Windows version: … Continue reading Getting the Windows version revisited
Getting the Windows version
When Microsoft introduced Windows 10 they said it would be the last version of Windows ever. They lied of course, because since then we have had multiple versions of an operating system called "Windows 10". Even worse, starting with Windows 8 they made their WinAPI function GetVersionEx lie about the Windows version, if the program … Continue reading Getting the Windows version
A simple way to create an URL label in Delphi
An URL label is a TLabel on a form which displays some blue, underlined text which, when clicked with the mouse, opens a web page. This kind of labels is nothing new in Delphi, I remember using them even back in the 1990s, but they always were a pain in the lower back to create: … Continue reading A simple way to create an URL label in Delphi
Image Processing Magic
It's a bit frightening what image processing "magic" can do to a picture: Original: Processed: And that's not even advanced "magic" but some rather simple code written in Delphi (most of which I can't publish here unfortunately). What it does is: Smooth brigthness by applying a brigthness map. Adjust for lens edge blur by selective … Continue reading Image Processing Magic
Extend the event OnClick of all MenuItems in the screen to execute another block of code
Shameless self promotion: On StackOverflow somebody asked the question in the title and I answered it. And as you might have guessed, I am mighty proud of having had that idea. It might be interesting to know that this is how GExperts fixes some of the IDE bugs and enhances some forms: It creates a … Continue reading Extend the event OnClick of all MenuItems in the screen to execute another block of code