SpTBXLib for D2009 released


I just saw that Robert Lee has posted a new Delphi 2009 compatible version of his GUI Library SpTBXLib a few hours ago. The new version compiles fine (currently with a small fix, see the newsgroups) using Delphi 2006 and Delphi 2009. Using the latter of course without the need to use TntUnicode anymore!

See his Download Page and for more information the SpTBXLib Release History.

Thanks, Robert!


Fix for ShellLink & Minimized Forms under < D2007


you probably know of the tutorials Nathanial Woolls of InstallationExcellence has published some time ago regarding the Vista Issues under Delphi Versions below D2007 (available here and here).

As I’ve just checked Andreas Hausladen’s QC report #58939 which deals with the fact that Applications created by Delphi 2007 have no Taskbar Button when started minimized using the ShellLink, I’ve discovered that the same applies for anything below D2007 using the above mentioned Vista tweaks of InstallationExcellence:

You’ll receive a minimized TApplication Window on the desktop with no Taskbar Button assigned to it.

After stepping through the VCL sources of D2006 I saw that the problematic part is in TApplication.Run where CmdShow = SW_SHOWMINNOACTIVE is checked and a few lines below “Minimize;” is called.

Together with Nathanial’s fix this won’t do. To circumvent it you will have to make a small addition to his fix in order to have a correct behaviour together with minimized ShellLinks:

ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) and not WS_EX_APPWINDOW or WS_EX_TOOLWINDOW);
ShowWindow(Application.Handle, SW_SHOW);

// add the following lines:
if (CmdShow = SW_SHOWMINNOACTIVE) then
  Application.ShowMainForm := False;

Assuming you are using Nathanial’s fix correctly in the MainForm’s OnCreate the given lines ensure that the MainForm is already hidden before Application.Run has been called.

Where to get the current Indy version?


UPDATE – Please see this newer post about SVN access – UPDATE

as many users are asking again and again I’ll show you where to find the current Indy versions. Generally you have two choices:

Download using SVN or get your copy from Fulgan’s mirror.

The official download documentation is here. But I don’t know how long the page will stay at this location as we are going to change some things on the Indy website in future.

You can access the Indy SVN through your Browser or with any subversion client. Two of them I can recommend are SmartSVN or TortoiseSVN.

Use the following properties to access our SVN server:

Repository URL: svn://svn.atozed.com/indy/indy10

User: indy
Password: indy

That account will give you read-only access.

Note: The “trunk” folder has the current version. “branches” and “tags” are for advanced usage only.

UPDATE – Please see this newer post about SVN access – UPDATE

Mirror: Fulgan.com (Switzerland)
This mirror can be accessed on via anonymous FTP or HTTP. It is updated daily at 03:00 CET (GMT + 1).

Edit (Oct, 2nd 2008): Fulgan’s Mirror provides the current Trunk and SVN (both as .zip files). As always what you get is work in progress, so if you’re running into troubles try to update the downloaded version. Changelog is available in SVN or the Mirror’s root directory.

Delphi Resize & Drawing Problems with x64 Windows


for all of you who discovered some resizing and or drawing bugs with Delphi under x64 Operating Systems have a look at the post in Jordan Russell’s Forum.

The bug is related to a stack overflow condition in the Windows kernel arising when a WH_CALLWNDPROC hook is installed. Regarding to Jordan’s post this reduces the time SendMessage() can be called recursively.

The good news: Andreas Hausladen has also published a fix for this issue.

This fixes not only problems with Jordan’s Tb2k but also Robert Lee’s SpTBXLib under x64 Vista as posted in jrsoftware.toolbar2000.thirdparty newsgroup on July, 23rd 2008.

Using the patch is as easy as adding a single unit to your project’s .dpr file:


Thanks Andreas for providing the fix and Robert Lee for pointing to it!

Updated OpenSSL libraries for Indy (0.9.8h)


I’ve been serving the users of the german delphipraxis.net Delphi Forum for about 1.5 years with updated OpenSSL libraries. Now, I’ve again updated the precompiled OpenSSL libraries for use with Indy.

To use them, you will need the latest Indy development snapshot from our SVN (FPC or Tiburón Branch).

You can download the libraries from Fulgan’s Mirror but keep respect to your national’s cryptographic regulations regarding strong ciphers.

P.S.: In 2007 Gumpi has posted my OpenSSL builds v0.9.8h here at his blog. Despite it’s now outdated I’ve included a description and patched headers so you can use the updated OpenSSL versions with older Indy versions. If more users are interested I will provide backward compatible headers patched for the current OpenSSL versions.