XE2 update 3 is out

XE2 update 3 is out, and on initial inspection seems to repeat the pattern of the previous updates: useful bugfixes for the core product, but little by way of substantive improvements for FireMonkey, at least if you want to use the Delphi compiler. Naturally, the MSI/InstallAware combo is as ridiculous as ever: on installing, I had a core maxed out for 25 minutes on the ‘validating install stage’, after which the installer did its thing of deleting a file then complaining it couldn’t overwrite it.

Once installed, first thing I checked was whether the blatant memory leaks in Mac.ObjectiveC.pas have been fixed. While the list of bug fixes for update 3 had appropriately lowered my expectations by not mentioning them, my hopes were somewhat raised on seeing the file itself had been updated. Alas, but the extremely trivial task of calling Free after temporary objects have been finished with has not been performed. (As an aside, this task is so trivial even the clueless guy who mans the QC system didn’t robotically demand a sample project after I filed a bug report!) The moral seems to be: if you’re not on the formal beta program, don’t bother filing QC reports for FireMonkey, since even the most basic thing will be ignored. I vaguely live in hope things such as this and the blatant misdeclaration of NSString in Macapi.Foundation.pas will be fixed before XE3, but we’ll see.


12 thoughts on “XE2 update 3 is out

  1. It’s not only about FireMonkey. I found a bug in RTTI with Delphi 2010. I traced it. It was non-initialized variable. So I reported it by pointitng that the problem is in RTTI.pas at line xxx. (pasting that part of the unit)
    Nevertheless the Japanese guy from support asked me for example project. I explained again that this is obvious problem and it is visible by just taking look at the code. He still said that he needs example project. I got pissed fixed it in my RTTi.pas and abandoned the report. Delphi XE was released. The problem was still there. I reopened my report and… guess what… they wanted me to provide test project and closed my issue with resolution “Not enough Information”.
    It took them 3 years to fix this.

  2. Same here. Found a totally obvious bug in the jpeg unit. The bug and a two line fix were presented on a silver platter.

    As a thank you, the same guy asked me to present a sample project. Today jpeg images are still not safe to use in threads.

    My last bug where I reported that TFile.OpenRead locks files exclusively instead of using fmShareDenyWrite. He wanted an example project for that too.

    Embarcadero sure makes me feel that they do not want me to report bugs.

    • Agree…

      The whole Quality Central application is badly designed, in my opionion.

      There are far too many fields that the user is required to fill in when reporting bugs.

      It should be possible to just write a headline, describing the category of the bug, and then to fill in some text, describing the details of the problem.

      Then, if the user wants to, he should have the option of specifiying all those other variables that David Intersimone has designed into QC as mandatory fields.

      In other words, Embarcadero should trust the user in being able to adequately describe the bug in his own words. They should not try to guide their users as if they were still in kindergarten. It puts me off the whole thing, and makes me want to NOT report any bugs through the QC interface.

      • ‘In other words, Embarcadero should trust the user in being able to adequately describe the bug in his own words’

        Well, I don’t object to the fields requested as such, more the fact the guy who mans the Delphi side of QC seems incapable of trying anything himself if it involves more than downloading an existing project. This also leads him at times to say something is ‘as designed’ or ‘not doable, sorry’ when in fact a person more knowledgeable about the product would come up with a solution.

    • If you’re referring to FireMonkey proper, Russia is neither a ‘third world’ country nor a land where Delphi (let alone Pascal) is unknown. If Embarcadero’s hiring policies distinguish between employing knowledgeable, talented individuals cheaply and just hiring on the cheap, developing a Russian workforce could prove a sound investment.

      That said, while I don’t know for sure, I’m fairly confident the Delphi to Objective-C bridge (which is quality stuff in general) dates from well before the KSDev acquisition and geographical refocussing of (parts of) the Delphi team.

      • The Objective-C bridge is only used in the FireMonkey code, so I doubt it’s as old as you think. It was obviously a lot of work to write it, so I don’t they’d do that unless they really needed it.

      • Well, XE1 was going to target the Mac with a son-of-CLX until very late in the day, and ObjectiveC.pas was surely not written by the people responsible for much of FireMonkey – it’s, er, too clever, and had stuff added to Rtti.pas specially for it, in complete contrast to the FireMonkey sources proper which almost entirely stick to using language and RTL features from the 1990s.

        • “XE1 was going to target the Mac with a son-of-CLX”: So you agree they really had no use for an ObjC bridge back then because all Cocoa stuff was handled by Qt? 😉

        • And your evidence that it was definitely written following the KSDev acquisition is…? My main point was that the Objective-C bridge was more than likely not written by the people ‘Peter’ alluded to – when exactly it was dreamed up is a side issue. OTOH, kudos to whoever wrote it (Barry Kelly?) if it actually was entirely devised between the acquisition and the first FMX for Mac beta!

  3. Another bug which has been lingering in the system for FAR too long, is the daylight saving time bug in the Delphi SOAP library.

    When doing an AsDateTime on a TXSDateTime object, the daylight saving time is calculated based upon the current date, and not the date itself.

    This causes the result to be wrong by an hour for half of the year, depending on whether you look at the date during summertime or wintertime.

    It’s an issue which has been in the QC database since Delphi 7.

    I’d rather have them clean up things like this, as well as some of the bugs in the generics library, rather than spending their time toying around with FireMonkey (which seems to be kind of ill-conceived from the start anyway, IMO).

    • ‘I’d rather have them clean up things like this, as well as some of the bugs in the generics library, rather than spending their time toying around with FireMonkey (which seems to be kind of ill-conceived from the start anyway, IMO).’

      I don’t think that myself (the FireMonkey part that is – I agree about generics). Part of what makes the OS X support as it currently stand so infuriating is that key parts (in particular the RTL in a broad sense) are well done, and the competition isn’t great from what I’ve seen. As a user I’m hardly a ‘Mac convert’ (far too similar to Windows to get all het up about!), however developing for the Mac App Store, with the promise of iOS to come, looks so inviting…

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s