List Of Bug Fixes For Firemonkey In #Delphi 10 Seattle On Android, IOS, Windows, And OSX
September 1, 2015
The huge list of fixes for Firemonkey in Delphi 10 Seattle is now available from Embarcadero. There is a pretty impressive list of fixes, upgrades, and enhancements in this latest version. The fixes cover the Android, IOS, OSX, and Windows platforms. Below I’ve highlighting the important fixes that jump out at me and categorized them by type, library, or platform.
[All] THTTPClient.Get produces wrong result in XE8.1 (was working fine in XE8) [Functionality Fix]
[All] Memory leak in TList<string>.InsertRange [Memory Fix]
[All] TList<T>.Delete or Remove methods AV at class destructor [Functionality Fix]
[All] TBeaconRegionItem assign method should check the type of the Source parameter before typecasting
[All] Memory error using System.Sysutils.TStringHelper methods [Memory Fix]
[All] AV at design-time in TFDMemTable after adding persistent fields
[All] JSON Unmarshal memory leak [Memory Fix]
[IOS64] 64Bit Debugging of iOS apps [Functionality Fix]
[IOS] SOAP fails in iOS when using SSL (“IOHandler value is not valid.”) [Functionality Fix]
[IOS] Parallel Library has running error at iPhone 5 [Functionality Fix]
[IOS] Memory leaks in MacApi.ObjectiveC bridge [Memory Fix]
[IOS] TTextureMaterialSource does not work under ios 64bit [Functionality Fix]
[IOS] Bug about display orientation when ProcessMessages call in OnCreate [Functionality Fix]
[IOS] Premium Styles Do Not Apply Correctly To New Controls Added To The TForm Designer
[IOS] Bug in user-interface firemonkey iOs app [Visual Fix]
[IOS] FMX.OnGuard GetIt package fails for iOS and Simulator [Functionality Fix]
[IOS] Location Sensor not stopping on IOS Device [Functionality Fix]
[IOS] Gesture with and TabControl in VertScrollBox and Layout not working on iOS [Functionality Fix]
[IOS] TListView raises “Argument out of range” on iOS sporadically [Functionality Fix]
[IOS64]A simple project deploy to iOS9 beta device, the main form failed to show and quit immediately just after showing the splash icon (C++Builder) [Functionality Fix]
[IOS64] TListHelper and CheckForCycles TDynArrayRec is different from System.pas [Functionality Fix]
[IOS,OSX] HTTP-headers with multiple Set-Cookie lines are not parsed correctly for IOS and MAC Targets [Functionality Fix]
[IOS, Android] When I click on TextButton then ItemClick event is called and TextButton event is called twice. [Functionality Fix]
[IOS,Android] System.Zip.TStoredStream does not support reading into a non-Delphi buffer under iOS + Android) [Functionality Fix]
[Android] Debugging does not work for Android [Functionality Fix]
[Android] XE7 lollipop hotfix should be reverted for earlier studio versions
[Android] On my Samsung Galaxy S5 with Android 5.0 is not possible debug application [Functionality Fix]
[Android] On some devices, Unable to start gdbserver on port ‘13444’ Can’t open socket: Permission denied.
[REST] Null DateTime conversion error in REST.Response.Adapter [Functionality Fix]
[REST] RESTDemos OAuth error [Functionality Fix]
[Generics] Serialising of generic lists produces large memory leaks [Memory Fix]
[Generics] System.Generics.Defaults.TComparer<> with a dynamic array generates incorrect results if the Right parameter is an empty array [Functionality Fix]
[FMX] TreeView Argument out of range on TreeViewItem.EndUpdate [Functionality Fix]
[FMX] ListBoxGroupHeader text that is changed is not refreshed correctly [Visual Fix]
[FMX] ComboBox OnClosePopUp bug XE8 but not in XE7 [Visual Fix]
[FMX] Keyboard disappears when clicking Symbol button [Visual Fix]
[FMX] TControl3D.Opaque does not work [Visual Fix]
[FMX] Delphi XE7 – iOs – Fonts [Visual Fix]
[FMX] Provide some way to automatically display the virtual keyboard when some input box is being shown [Functionality Fix]
[FMX] DatePicker height bug [Visual Fix]
[FMX] TStyleAnimation memory leaks [Memory Fix]
[FMX] Jet Style does not always display correctly – TMultiView with “Pushing” mode [Visual Fix]
[FMX] TMemo wordwrap does not provide correct scrolling [Visual Fix]
[FMX] Multiview-Designer and stylelookup-bug [Visual Fix]
[FMX] Firemonkey: Exception in TEdit.OnValidate [Functionality Fix]
[FMX] TPopUpBox doesn’t scale properly with TScaledLayout [Visual Fix]
[FMX] Clicking in TEdit/TComboEdit causes unexpected caret positioning when text value is long enough to go outside of the control boundaries [Visual Fix]
[FMX] Determine Text Size
[FMX] TForm is not correctly positioned on the first call to ShowModal [Visual Fix]
[FMX] Months and years of TDateEdit display corrupted on the TScaleLayout [Visual Fix]
[FMX] TVertScrollBox messes with components widths to poor effect [Visual Fix]
[FMX] TStyleBook in DataModule – Exception on project load [Visual Fix]
[FMX] TDropTarget not found [Functionality Fix]
[FMX] FireMonkey feature request: add support for embedding “native” controls inside a FireMonkey control. [Visual Fix]
[FMX] Listbox does not reorder listbox items when some items are set to invisible [Functionality Fix]
if a form is a auto-create form and it is not a main form
and its form.borderIcons.biMaximize or biMiniimize or biSystemMenu is false [or all of them are false]
if you call it from another form which is not auto-create one then you repeat this again or call it from main form
app will freez.
But if you call this form from main form once then do the above, every thing will be ok
Delphi XE7 update1 bugs: (Under FMX environment)
//under Windows 7
program Project1;
uses
System.StartUpCopy,
FMX.Forms,
Unit1 in ‘Unit1.pas’ {Form1} ,
Unit2 in ‘Unit2.pas’ {Form2} ,
Unit3 in ‘Unit3.pas’ {Form3};
{$R *.res}
begin
// I test it using windows 7 and Delphi XE7 fmx
// I test it using windows 7 and Delphi XE7 fmx
// This program will freez if you run it like this:
// 1. click ‘To form3’ button from Form1–> click ‘To form2’ button from Form3–>Return back to Form1.
// 2. Repeat step 1 or click ‘To form2’ button from Form1
type
TForm2 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.fmx}
// Form2:
// remember: Uncheck biMinimize and biMaximize from Object Inspector. bisystemMenu is optional
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.Caption:=’Form2: press Alt+F4 or System Menu to exit this form’; // if you check bisystemMenu from Object Inspector
end;
Another bug from Delphi XE7 fmx TForm:
if a form is a auto-create form and it is not a main form
and its form.borderIcons.biMaximize or biMiniimize or biSystemMenu is false [or all of them are false]
if you call it from another form which is not auto-create one then you repeat this again or call it from main form
app will freez.
But if you call this form from main form once then do the above, every thing will be ok
Details:
Delphi XE7 update1 bugs: (Under FMX environment)
//under Windows 7
program Project1;
uses
System.StartUpCopy,
FMX.Forms,
Unit1 in ‘Unit1.pas’ {Form1} ,
Unit2 in ‘Unit2.pas’ {Form2} ,
Unit3 in ‘Unit3.pas’ {Form3};
{$R *.res}
begin
// I test it using windows 7 and Delphi XE7 fmx
// I test it using windows 7 and Delphi XE7 fmx
// This program will freez if you run it like this:
// 1. click ‘To form3’ button from Form1–> click ‘To form2’ button from Form3–>Return back to Form1.
// 2. Repeat step 1 or click ‘To form2’ button from Form1
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
type
TForm1 = class(TForm)
CornerButton1: TCornerButton;
CornerButton2: TCornerButton;
procedure CornerButton1Click(Sender: TObject);
procedure CornerButton2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3;
{$R *.fmx}
procedure TForm1.CornerButton1Click(Sender: TObject);
begin
Application.CreateForm(TForm3, Form3);
Form3.ShowModal;
Form3.Release
end;
procedure TForm1.CornerButton2Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
CornerButton1.Text := ‘To Form 3’;
CornerButton2.Text := ‘To Form 2′;
end;
end.
unit Unit2;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;
type
TForm2 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.fmx}
// Form2:
// remember: Uncheck biMinimize and biMaximize from Object Inspector. bisystemMenu is optional
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.Caption:=’Form2: press Alt+F4 or System Menu to exit this form’; // if you check bisystemMenu from Object Inspector
end;
end.
unit Unit3;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
type
TForm3 = class(TForm)
CornerButton1: TCornerButton;
procedure CornerButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.fmx}
uses Unit2;
procedure TForm3.CornerButton1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
CornerButton1.Text := ‘To Form 2’;
end;
end.