Contents
1 FireMonkey Changes for XE8
1.1 Native Presentation of TListView, TSwitch, and TMemo on iOS
1.2 Desktop Web Browsers
1.3 Standard Actions for TMediaPlayer
1.4 New and Changed FireMonkey API
1.4.1 New OnFilter Event
1.4.2 FMX Field Variables Now Start with F
2 Run-Time Library (RTL) Changes for XE8
2.1 Changes in LongInt and LongWord Size for 64-bit iOS Platforms
2.2 New Delphi Data Types FixedInt and FixedUInt
2.3 Beacon Support
3 VCL Changes for XE8
4 Delphi Changes for XE8
5 C++ Changes for XE8
6 IDE Changes for XE8
6.1 Multi-Device Preview
6.2 Run Your Apps on Any iOS Simulator
6.3 Add Featured Files Opens Automatically When Necessary
6.4 Disabling Built-in RAD Studio Java Libraries for Android Using the Project Manager
6.5 Mercurial Version Control System Integrated in the IDE
6.6 Settings Migration Tool
7 Database and Connectivity Changes for XE8
7.1 FireDAC Changes
8 Debugger Changes for XE8
9 Platform Assistant Changes for XE8
10 Command-Line Utility Changes for XE8
11 Application Samples Changes for XE8
11.1 Older Samples Removed at XE7 are Available on SourceForge and XE6 Docwiki
12 Changes in the Help
12.1 New Offline Help System
13 Topics
FireMonkey Changes for XE8 FireMonkey is our proprietary library of object-oriented programming (classes, methods, properties and so forth).
Native Presentation of TListView, TSwitch, and TMemo on iOS On the iOS target platform, FireMonkey now supports both styled and native presentations for the TListView, TSwitch, and TMemo controls.
By default, when you add any of these components to the Form Designer, RAD Studio uses the styled presentation.
To use the native presentation on the iOS target platform, set the new ControlType property to Platform.
For more information, see TPresentedControl.ControlType and FireMonkey Native iOS Controls.
Desktop Web BrowsersOn desktop platforms (Windows and Mac OS X), FireMonkey now supports the use of the TWebBrowser component. All basic functions of the Web browser are available (such as navigate to URL, go back, go forward, and so on).
Standard Actions for TMediaPlayer FireMonkey now provides the following standard actions that you can use to control any instance of TMediaPlayer:
TMediaPlayerStart
TMediaPlayerStop
TMediaPlayerPlayPause
TMediaPlayerCurrentTime
TMediaPlayerVolume
New and Changed FireMonkey API New OnFilter Event FireMonkey provides the new OnFilter event to set custom filters in a search box.
For further information about the new OnFilter event, visit TCustomListView.OnFilter and TSearchBoxModel.OnFilter.
FMX Field Variables Now Start with F The names of all field variables in FMX classes now start with the letter F. This is according to the standard described in the Object Pascal Style Guide.
Some examples are:
FEnabledInteractiveGestures
FFont
FDesignInteractive
Run-Time Library (RTL) Changes for XE8 Changes in LongInt and LongWord Size for 64-bit iOS Platforms LongInt and LongWord are now platform-dependent integer types.
On 64-bit iOS platforms, LongInt and LongWord double their size compared to the size on 32-bit platforms (32-bit Windows, OSX32, 32-bit iOS, and Android) and 64-bit Windows platforms, as follow:
For more information, see Platform-Dependent Integer Types.
New Delphi Data Types FixedInt and FixedUInt Two new platform independent 32-bit integer types are introduced in XE8:
FixedInt: 32-bit signed integer type.
FixedUInt: 32-bit unsigned integer type.
The size of FixedInt and FixedUInt is 32 bits across all 64-bit and 32-bit platforms.
For further information, see FixedInt and FixedUInt.
Beacon Support The RTL now supports the use of beacons. A beacon is a Bluetooth Low Energy device that includes some Manufacturer Specific Data in its advertising data, allowing any device that receives that information to identify the beacon device and calculate the distance to it without being paired or connected to it.
We support two available beacon formats:
iBeacon - the format defined by Apple
AltBeacon - an open format, known as Alternative beacon, which supports both Android and iOS
Using Beacons shows how to implement a beacon application.
VCL Changes for XE8 Delphi Changes for XE8 C++ Changes for XE8 IDE Changes for XE8 Multi-Device Preview With the new Multi-Device Preview, you can preview how your application looks on different devices. The Multi-Device Preview displays a preview of the design area on several devices at the same time. You can select the devices to preview.
MDPreviewWindow1.png
To open the Multi-Device Preview window, choose View > Multi-Device Preview.
For further information about this feature, see Multi-Device Preview.
Run Your Apps on Any iOS Simulator The Target node of the iOS Simulator platform node of the Project Manager now shows the complete list of simulators supported by the Xcode installation on your Mac. The Project Manager also shows the iOS version of each simulator, and you can run your applications on a given device model running any one of the supported iOS versions.
Add Featured Files Opens Automatically When Necessary When you add to the Project Manager a file that may require you to add some featured files to the deployment configuration of your project, RAD Studio now opens a filtered view of the Add Featured Files dialog box, so that you can include the required features files in the deployment configuration of your project. See Add Featured Files Filtered List for more information.
Disabling Built-in RAD Studio Java Libraries for Android Using the Project Manager In XE8, the Project Manager lists the built-in RAD Studio Java libraries for Android, and you can disable any one of those libraries. To make your application lighter, you might choose to disable Java libraries that your application does not require. For more information, see Using the Built-in RAD Studio Java Libraries for Android.
XE8DisableJavaLibrary.png
In XE7, you could easily add custom Java libraries to your Android applications using the Project Manager. However, to remove unnecessary Java libraries that RAD Studio includes in Android applications by default, you had to manually create and deploy a custom classes.dex file.
Mercurial Version Control System Integrated in the IDE RAD Studio supports now a new version control system integrated in the IDE, for managing and tracking changes in your projects: Mercurial distributed version control system.
The History Manager now presents integrated Mercurial version control log information from your local repository. You can find more information of the tracked changes of your project in the Contents, Information and Differences tab.
You can use Mercurial to:
Clone a copy of your remote Mercurial repository and start working with it.
Commit your changes to your local repository.
Show remote repository log data for your project.
In XE8, some Git features have been added in the IDE:
Authenticate in your remote private repository.
Push your changes to the remote Git repository and pull changes, updating your working copy with the latest remote changes.
For more information about the version control systems integrated in the IDE, see:
Version Control Systems in the IDE
Mercurial Integration in the IDE
Git Integration in the IDE
Settings Migration Tool The new Settings Migration Tool provided with RAD Studio XE8 allows you to import and export configuration settings between RAD Studio and Appmethod as well as between different versions of the products.
With the Settings Migration Tool you can:
Export settings to a migration file: to generate an XML export file with .idesettings extension.
Import settings from a Migration File: to import the XML file with .idesettings extension.
Export settings to a newer RAD Studio version: to migrate the settings automatically to a newer RAD Studio version installed on the same machine.
You can find the migration.exe tool in the following path: C:\Program Files (x86)\Embarcadero\Studio\16.0\bin.
Visit the Settings Migration Tool page for more details.
Database and Connectivity Changes for XE8 FireDAC Changes New FireDAC Teradata Database native driver (TData) based on the Teradata Database ODBC driver. See Connect to Teradata Database.
FireDAC Sqlite driver is updated in XE8. For detailed information, see Connect to SQLite database (FireDAC).
Migrate your existing dbExpress applications to use newer database technologies such as FireDAC. For migration, see Migrating dbExpress Applications to FireDAC.
Follow the steps in DbExpress Application Migration (FireDAC) to migrate your dbExpress Delphi application.
Debugger Changes for XE8 Platform Assistant Changes for XE8 Command-Line Utility Changes for XE8 Application Samples Changes for XE8 Older Samples Removed at XE7 are Available on SourceForge and XE6 Docwiki See Older Product Samples for more information about accessing the older product samples that were removed from RAD Studio at XE7.
Changes in the Help New Offline Help System The offline help files delivered with RAD Studio are now in Microsoft Compiled HTML Help format, also known as CHM. For more information, see Help on Help - CHM. Previously, the offline help was delivered in H2 format and was viewed using Microsoft DExplore.
The Microsoft Compiled HTML Help viewer can only show offline help. To access the online help, you must either open the online help yourself, or click Current Wiki Page on the footer of any page of the offline help. You can no longer choose whether you want the offline help viewer to show the offline help or the online help.
You can create your own CMH help files and link them with RAD Studio, for further infomation see Providing Help for Your Component.
這個改動:
Run-Time Library (RTL) Changes for XE8 Changes in LongInt and LongWord Size for 64-bit iOS Platforms LongInt and LongWord are now platform-dependent integer types.
有什么必要?不是早就有了NativeInt、NativeUInt嗎。
沒這么簡單,CB、Delphi的智能提示(所謂code insight)是動態的,基于實時代碼分析和編譯資訊,因此有時候會出現“Unable to invoke Code Completion due to errors in source code”這種錯誤資訊,另外沒有原始碼,只有.dcu它照樣能提示,所以這種實作絕對不是簡單的文本匹配,而是有一個語法掃描程序,還要有從.dcu中逆出一些資訊的能力(也可能包括.obj,不過我沒有驗證)。這種技術用在C++工具上自然比較慢,因為C++的語法掃描本身就復雜而緩慢。
沒這么簡單,CB、Delphi的智能提示(所謂code insight)是動態的,基于實時代碼分析和編譯資訊,因此有時候會出現“Unable to invoke Code Completion due to errors in source code”這種錯誤資訊,另外沒有原始碼,只有.dcu它照樣能提示,所以這種實作絕對不是簡單的文本匹配,而是有一個語法掃描程序,還要有從.dcu中逆出一些資訊的能力(也可能包括.obj,不過我沒有驗證)。這種技術用在C++工具上自然比較慢,因為C++的語法掃描本身就復雜而緩慢。
眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......
值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......