Talk:Release Notes for XE2 Update 4

From RAD Studio
Jump to: navigation, search

Reword the following section:

Problems Packaging Mac OS X Applications on the Mac using productbuild

If you are using an early version of XE2, you might encounter a few problems when trying to package an OS X application. The following error message might be emitted when you try to create an installer package using the productbuild command on the Mac:

Nested finally block bug

From what the release notes currently say, I had been thinking an extremely serious regression was about to be made public in the OS X compiler:

Obj1 := TMyObj.Create;
try
  Obj2 := TMyObj.Create;
  try
    //do stuff 
  finally
    Obj2.Free;
  end;
finally
  Obj1.Free;
end;

However, on the FireMonkey forum, it has been suggested to me this merely highlights a bug long known to exist for code like this (QC 101617):

try
  raise Exception.Create('SNotOverriddenMethod');
finally
  try
    s := '';
  finally
  end;
end;

If that is the case, I think it would be wise to make the notes clearer. There's no need to encourage people to think there are any more serious bugs than there actually are, eh?

Response

We have added a code example that clarifies the workaround.

Many thanks for your comments --

KrisHouser 17:33, 3 February 2012 (PST)

The example's OK, but the wording could still be better. How about: 'In a Delphi OS X application, a try/finally block put inside the finally part of another try/finally block can cause the compiled application to crash at run time. The workaround is to move the inner try/finally block into a nested procedure.' You phrase 'local/native procedure' sounds gibberish to me (cf. http://docwiki.embarcadero.com/RADStudio/en/Procedures_and_Functions#Local_Declarations).

Ccr 12:33, 7 February 2012 (PST)