May 17, 2002

OK, I’ve got not one but two application releases today 🙂 They aren’t really the final, polished product as such since I normally don’t like to release an app till I had added a suitable icon to it but I’m releasing these two apps with the default Delphi app icon since they are minor apps plus it’ll probably be next weekend if I wait to find the icon, recompile the apps and release them :p I haven’t even created an app page for either application (and one of them doesn’t even have a readme file …) because 1) they are rather self-explanatory 2) I was too lazy <g> 3) I can always do it later :p

So what are these apps? One is the RenX shell-extension that I’ve been talking about. I ran it through its paces yesterday and discovered that while it worked fine with one file, that it wouldn’t work with more than one file at all! I went on a major bug hunting expedition and finally discovered that the fault lay in a memory allocation problem because the instead of containing a list of files selected from Explorer, the final result in the program itself was a list of the same file name over and over again. I fixed that problem and have been using it to do a lot of renaming today and it worked admirably. Of course, I always used the Replace option and so there still might be a few undiscovered bugs in there :p

The other app is the e-mail address encoding utility that I wrote about in a prior entry. I’ve decided to call the program MailCoder and I checked to make sure that the encoded format works even in an anchor tag and it did. I then added a button that would simply copy the encoded string to the clipboard instead of the user having to select the string and then copy it manually. With that, I think MailCoder is completely done – except of course of finding a suitable icon and adding it :p So I’m releasing both the apps today and will do any further work as necessary …

Speaking of further work, the release of Cee that I did last week had a couple of bugs and while I’ve fixed it, I haven’t updated the download on the servers because I forgot to 🙁 Guess that’ll have to wait till Monday … So what were the bugs? One is not exactly a bug but rather an idiosyncrasy in Windows XP. It turns out that startup items in the registry are sort of cached by Windows XP so that Windows starts up faster and how XP caches the items is to copy it to a temp folder under your profile in Documents and Settings and run it from there. Now Cee expects the cookie database to be in the same folder as where it is run from and since the temp folder does not contain the cookie database, Cee exits with an error. This is one explanation, the other is simply that the Documents and Settings temp folder is set as the working directory for all startup apps <g> Whatever the case maybe, I was trying to fix this problem for a couple of days with no success (mostly because I didn’t want to restart my machine to test whether it worked <vbg>) and finally my friend Robin – who had become pretty attached to Cee – simply added Cee to his Startup folder and removed the registry entry because he got tired of being faced with the error each time Cee started 🙂 So I decided to put Cee in the Startup folder as well instead of the registry and while that involved some further code to create shortcuts, I was finally able to do it properly and that particular bug was squashed …

The other bug was to do with the timer in Cee. Whatever value you put in it, it got saved properly but the next time you started Cee it would revert back to 1. I ran the program through the debugger and the correct value was being read and it was even being put into the edit box but each time the Options dialog was called up, the value was again mysteriously being set to 1! I couldn’t figure out what was wrong at all – I thought it might have something to do with the spinner control that I’d attached to the timer value edit box and looked at the properties for the spinner control but couldn’t see anything that might hold a value and so decided that that wasn’t it. Today I was going through the spinner properties again and I suddenly discovered one called Position which actually held the current value – when I saw it yesterday, I thought it had to do with screen position, talk about dumb naming :p Once I set the Options dialog value reading code to set the timer interval to the spinner control instead of the edit box, everything worked fine …

Tags:
Posted by Fahim at 7:01 pm  |  No Comments