2007-03-25

Delphi for Win32 - Part 11 (Don't abuse F1!)

Well, I've been using Delphi 2007 for Win32 to make a few changes to my current project. After passing the initial couple AVs, it has been running pretty smooth and damn fast! But that does not mean that I don't run into things! So far, I have posted 24 QC entries regarding Delphi 2007 or QC Client (mostly about Delphi 2007 and mostly non-critical). Even though only 4 were the direct result of crashes/lockups, still it's a count a bit bigger than I was expecting, after all that was written on Delphi 2007....

I've now set up a "clean" Virtual Machine with nothing but Windows, updates and Delphi 2007. This is were I go and test my bugs before submitting them so that I can be sure that it's nothing related to my build and/or third-party controls. I also try and post some screen shots of the bugs in action whenever appropriate...

Now for the subject: the last bug I got was a simple case of "No help found for context". Not really much in and by itself, if it were not for two things:
  1. How easy it was to get it (just open the Run menu and press F1 over some item); It may work on other menus, but I don't feel like trying!
  2. How drastic it was! After receiving that one, the menus stopped working! Whenever I'd mouse over one, I'd get a couple different ones (see image below), and the menus would still not work. Only way out of that loop: ALT-F4 and reload the IDE.

Now, I do understand that a lot of testing was done on Delphi 2007, but maybe CodeGear should start thinking seriously about extending the beta tests to more people out there: this bug is just too easy to run into, especially when they tell us that there's an improved help, so one may just feel tempted to try it out! Maybe they need some "casual users" on their test group, people who actually try and use the simplest of things and are not focusing on trying to find such tiny cracks that they miss out on the big ones...

So, just stick with pressing F1 over components and/or keywords/properties in the editor and don't abuse F1, or you'll have to restart your IDE!

11 comments:

Anonymous said...

So, with all these "issues" you have come across and been blogging about, do you recommend upgrading to Delphi 2007? If yes, now or maybe after an update? I didn't see any "show stoppers" in your blogs, but I must admit I haven't read all of them (pan on it though).

I currently use Turbo Delphi 2006 win32 (previously it was d2005 UGH!), but I know there are ALOT of people still using good old Delphi 7. Hell, I personally know a guy who is still using Delphi 4 as his main dev environment.

Anonymous said...

I don't know if I'm a "power user" but I've used delphi 2007 every day at work since release and have not had a single crash. The bugs I know about in d2007 are all marked to be resolved in future versions, maybe they don't actually need casual users in the beta as much as they need people who do things differently, if you found 24 significant bugs I'd say you should send a mail to Nick and ask for beta membership. :)

(Imho, D2007 is more stable than D7.)

Fernando Madruga said...

FWIW, I *do* recommend Delphi 2007!

Sure, I've found 24 (31 now if memory serves me right!) issues with it but most were "minor" issues.

The improved speed, the new build system which is very important for my current project, even the improved help (once you know where *not* to ask for it!), they all make up for the flaws I found so far which, like I said, are mostly cosmetic or easily overcome.

I'm just doing this so that people don't get to believe, like I did!, from reading other "pink" blogs that Delphi 2007 is perfect right out of the box! It isn't, but at least it comes with the QC Client pre-installed, so that will get a lot of lazy people like myself to post the bugs in QC so they may get fixed.

For now, even with the occasional bump on the road, I'm not planning to go back to BDS 2006...

IMO, Delphi 2007 is set to be *the* Delphi. It may not be quite there yet, but it's pretty close and with the new update system and the more streamlined processes in CodeGear, I believe it will get there real soon...

Anonymous said...

From reading your list of issues I'd say there was just too little time spent beating on msbuild, considering how late in the process we started hearing about it I wouldn't be surprised if a fix or two slip out from CodeGear for it.

I hope you'll enjoy D2007 as much as I have in time, I leapt at it when it arrived as my BDS2006 had a tendency to crash from lack of memory (2GB limit) every 2 hours or so... To me it's the best Delphi in half a decade.

Fernando Madruga said...

Well, I haven't used much MSBuild, sure, but one "side-effect" of it is that I can now properly "RUN" my add-in DLL from within the IDE, something that was impossible to do with BDS 2006 as I used a small hack (http://memyselfanddelphi.blogspot.com/2007/03/pre-and-post-build-automation-in-delphi.html), in order to be able to run an EXE/DLL wrapper.

In order to do that from within the IDE, I had to use project groups so that I could as a last "step" of my BDS 2006 build, run that wrapper. However, whenever I used "RUN", BDS 2006 would insist in recompiling my main DLL and *not* do a full Build All which would mean that my DLL would not get "wrapped"...

Now, using MSBuild and Post-Build steps, it simply works. In a way, it's not as flexible as the solution I had found for BDS 2006, but it works and helps me speed up the debugging by simply hitting RUN instead of build all, manually run the host app, attach to existing process, load symbols...

Anonymous said...

Hm... I didn't even know it was possible to use F1 on pulldown menus.

I think I safely could have used the application for 10 years at end without running into that particular bug!

I use F1 in the code editor, and on form components... but never on a menu item. Is that even common application behavour to use or implement?

Fernando Madruga said...

Yes, it's a common feature of many applications I've used so far and of many (all?) previous versions of Delphi...

I found that one (and judging from QC, I was not the only one!), because I was trying to find more information about "Run->Register ActiveX Server" as that menu was consistently showing as disabled when I believed it should be enabled for that kind of project.

So, in order to find some help on one bug, I ran into a couple other bugs! ;)

Anonymous said...

FWIW, this item was found prior to RTM and a difficult decision was made not to fix it. The bug is in VCL and affects ActionBand menus. Fortunately, it's rather benign but annoying just the same.

Fernando Madruga said...

Steven: I can understand such decisions and also that software will always have bugs, and I had already checked QC and found an entry there from one of your testers. Also, it's not a real show stopper as it's a simple restart of the IDE.

My surprises are mostly related to bumping into so many (even on a clean VM with nothing but Windows+Delphi), so it's not that hard to find most if not all of the issues I've found so far!

Admittedly, they're all either "one of" or easily avoidable, but I just wasn't expecting so many of them...

Maybe it's me or my current work relating to Office COM add-ins that gets me into finding these ones! I mean, how many people out there will uninstall the default Office XP automation to install the 2K version instead? :)

NccWarp9 said...

I get the error in rtl100.bpl on startup and thats it, cant load Delphi.

Fernando Madruga said...

Weird, Ncc. For me, a simple restart of the IDE would fix it... Try rebooting: maybe the IDE is not ending properly and leaves something in memory...