Delphi XE2 - some informations

by Radek Červinka 10. September 2011 21:25

Some informations about Delphi XE2.

Delphi XE2 brings 64bit compilation. Switch of platform is simple done in Project Manager.

Project Manager

IDE of Delphi XE2 is still 32bit and this means, that you can compile 64bit Delphi app in 32bit Windows, but for running you need 64bit. But you can debug this app remotely for 64bit PC, because every 64bit debugging (including local debugging) is done as "remote" (when debug local 64bit process, there is 64bit helper process and IDE communicate with this).

BTW: this means that every design package must be 32bit (including 64bit components) - because of 32bit IDE.

Remote debugger

Warning: for debugging 64bit process is required to check "Include Remote Debug Symbol" for debugging support. For new projects is done automatically, but please check this when import old ones.

Options

All VCL, FireMonkey a RTL units are renamed to Unit Scope names. For example: Buttons.pas to VCL.Buttons.pas, Classes to System.Classes, Messages to WinApi.Messages.

There are another prefixes: Posix., Macapi., FMX. (FireMonkey), Data.Bind., Xml. and so on.

Unit System and SysInit have same name. Of course, Delphi can compile units without unit scope names. It's possible because Options. When remove unused prefixes you can speed up compilation.

Options

Please look at: .\$(Platform)\$(Config). This enable protecting for not mixing platforms. Please check this too.

Because when compiler mix units, you can get something like "Bad unit format - expected Windows Unicode (x86)" and this interested me. When look for platforms in exe, there is big surprise:

Platform

I think that last 4 strings are processors, rest are platforms (maybe from old version too / Windows Ansi). But this is only my thoughts (iOS can be MacOS - ARM). Important is ARM. We will see, when ARM compiler will be ready, but this is promising.

Defined symbols

Win32: DCC, VER230, MSWINDOWS, WIN32, CPU386, CPUX86, ASSEMBLER, UNICODE, NATIVECODE

Win64: DCC, VER230, MSWINDOWS, WIN64, CPUX64, ASSEMBLER, UNICODE, NATIVECODE

OS X: DCC, VER230, MACOS, MACOS32, CPU386, CPUX86, ASSEMBLER, UNICODE, NATIVECODE, PIC, POSIX, POSIX32, ALIGN_STACK, PC_MAPPED_EXCEPTIONS

Data module changes

There is big change in DataModule. Since it was necessary to ensure whether can not insert VCL components to FMX application, there is new "virtual property" in DataModule called ClassGroup. This is "filter" limiting group of classes enabled for insert.

Default is "System.Classes.TPersistent", but when select "Vcl.Controls.TControl" you can insert components as in previous Delphi versions (eg. TPopupMenu, TImageList, TActionList…).

Changes for main application icon

Application icon is stored on disc (not in res file). You can change this as usual, but there is question after this.

Ico

Icon file name is stored in .dproj.

3rd components

Many components are on Partner DVD (ISO), see. CodeCentral, but

CnPack, JCL XE2, JVCL XE2. Status of TMS components.

My favorite Virtual TreeView is ported to XE2 for both (32 and 64bit) versions.

Tags: , , ,

Delphi news

Comments are closed