The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,419 other followers

When you are bitten by normally having the luxury of a current development environment

Posted by jpluimers on 2011/10/06

Sometimes you are at clients that don’t fully appreciate the luxury of keeping their development environment current.

This case a client still using Delphi 2006, where I promptly ran into a compiler error that was solved 5 years ago: a “F2084 Internal Error: C11919” at the end of the method.

begin
  if RMQResult.Create(CompCode, Reason).IsOK then
//...
end; // [Pascal Fatal Error] MQObjects.pas(668): F2084 Internal Error: C11919

The cause is that the compiler barfs at calling a method on a freshly created record.
The function result is an intermediate, which is not handled correctly (fixed in Delphi 2007).

This is not only for record intermediates: reusing an intermediate like the result of Pred() will crash the compiler in Delphi 2006.

The workaround is introducing a real variable.
This works:

var
  MQResult: RMQResult;
begin
  MQResult := RMQResult.Create(CompCode, Reason);
  if MQResult.IsOK then
//...
end; // compiles fine

–jeroen

4 Responses to “When you are bitten by normally having the luxury of a current development environment”

  1. Steve said

    Ok, I agree with you, BUT if I buy a product (for not an insignificant amount of money), I expect it to work as advertised. I don’t expect to have generics and unicode in Delphi 2006 for example, but I expect bugs to be fixed in patches for the version I have purchased. Is this so hard to understand? If you want me to upgrade, you add features. Bugs should be treated differently.

    • jpluimers said

      The consensus among many (not only software) vendors is a limited period of bug repairing.
      I don’t agree with that, but it seems to be a fact of life now, hence the post.
      –jeroen

    • That’s why Delphi 2010 was my last Delphi upgrade.
      Still remember the money I wasted on Delphi 2005 and 2006.
      With Delphi bugs are always fixed with upgrades, not with updates.
      And I think this is why Delphi has lost tons of users.

      Luis Madaleno

      • jpluimers said

        Lots of things are fixed in updates, but not all. It’s how the economics of software works. For current software it is virtually impossible to fully support older versions. Only vendors with very expensive maintenance contracts do that kind of thing.
        I think it is fair not only to give criticism but also credits: Delphi 2005 and 2006 were bad versions, but starting with Delphi 2007, they found their way up again, both quality wise and feature wise.
        –jeroen

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

 
%d bloggers like this: