During the last two days, I was helping a person who purchased Behold. She bought Behold without it working on her computer. In fact, it wouldn’t even start up and gave a message: “kernel32 could not be found in the specified path”. Her big difference was that she has Windows 2000 and I had only tested Behold on Windows 98 and Windows XP. But you would think that if it works for an earlier and a later Operating System, then it should work for the middle one.
After getting her to test a few things on her computer, it seemed her computer was fine. So I again turned to my magical friend: google.com and looked for “Windows 2000″ kernel32.dll delphi. I eventually found the Microsoft support article KB 281913 which referred to a strange Visual Basic bug, where a library spelled with different cases in the same program, e.g. kernel32.dll and KERNEL32.DLL, might work on one Operating System, but not on another.
So I looked through Behold for all references to routines from kernel32.dll. To my surprise, I only found one. It was some old code from 3 years ago used to convert a short pathname into a long pathname. I searched the internet again and found some code to do the same thing without calling kernel32.dll and replaced the old code. Lo and Behold, it solved the problem.
I have to thank Beth for reporting the problem to me, and working with me to solve it. As it was, Behold wouldn’t have worked on any Windows 2000 machine (and maybe not Windows ME as well) without that fix.