Category: Firemonkey

Screen orientation on iOS

Per this question in Delphi an FMX app can be selectively forced into landscape or portrait with code like this: procedure TForm1.Chart1Click(Sender: TObject); begin if Application.FormFactor.Orientations = [TScreenOrientation.Landscape] then Application.FormFactor.Orientations := [TScreenOrientation.Portrait] else Application.FormFactor.Orientations := [TScreenOrientation.Landscape]; end; end; I can't figure out how to translate this code above to C++Builder. I tried the following code based on this post but it gives access violation on both iOS and Android: void __fastcall TForm1::Button1Click(TObject *Sender) { _di_IInterface Intf; if (TPlatformServices::Current->SupportsPlatformService(__uuidof(IFMXScreenService), Intf)) { _di_IFMXScreenService ScreenService = Intf; TScreenOrientations Orientation; Orientation << TScreenOrientation::Landscape; ScreenService->SetScreenOrientation(Orientation); } } Is this even doable in FMX with C++Builder?
Read More

Firemonkey accelerator key

I'm looking for a way to register the accelerator key other than the standard way, that is when the text with the accelerator key is set to the tLabel. I googled a lot and did not find nothing of the sort. Also, in other question, was suggested to set the Label's Text property at Form's creation, after setting the Label's parent, but this does not work because the Label's Text and Parent properties, might be set dynamically at run time. Assuming the form has a TEdit, a TLabel and a TRectangle, named respectively MyEdit, MyLabel and MyRect, follows a brief code example ... interface type tMyForm = class (TForm) ... procedure FormCreate (Sender: tObject); ... end; ... implementation tMyForm.FormCreate (Sender: tObject); begin ... MyLabel.FocusControl := MyEdit; MyLabel.Text := '&Label'; MyLabel.Parent := MyRect; // after this setting // the accelerator key stop working // I need some code here that makes the accelerator key work, no matter where // I set the TLabel's Text and Parent properties ... end;
Read More

Firemonkey Android app keep old version component

I'm doing a Android app with Firemonkey. I had a TImage and I change the multiresbitmap, I change opacity of an TRectangle. When I compil to Windows its ok, but when I compil to android plateforme (debug) I keep the "old" version of the image content and my rectangle keep old opacity. Even if I clear projet, compil to release I have this effect. Its like there are a cache or something like that. Someone already have this problem ? Thanks
Read More

Getting exception: Segmentation fault (11) while showing a secondary form on Android 9

I'm using Delphi 10.3 to develop an Android application. The main form needs to show a login form based on data stored in an INI file. But, when I show the form, I get an exception: Exception class Segmentation fault (11). I'm facing this problem only on Android 9 (Motorola E6s model). On other Android versions, it works fine. Below I have mentioned the simple code: Form1 (Main form): Buttonclick; // After showing the main form begin Form2.Show; end; Also tried with another code: ShowEvent;// On show event begin Form2.Show; end; Please help me, how can I fix this?
Read More

TGraphicControl Equivalent to FMX

I need to create an FMX component, formerly I used TGraphicControl but the architecture has changed a lot for FMX. The component to create is an array, where I determine pixel size being height and width, and the number of pixels per row and column, for example, a 30 row by 45 column array with 15x15 pixel frames each. I would do this in VCL with TGraphicControl, and now in FMX, what is the equivalent?
Read More

Objective-C to Delphi : bug?

I have this protocol: @protocol Once <NSObject> .... @end And I translate it to Once = interface(IObjectiveC) .... end; then I have this function : FOUNDATION_EXTERN id <Once> __nullable CreateOnce(void) API_AVAILABLE(macos(10.11), ios(8.0)) NS_RETURNS_RETAINED; that I translate to function CreateOnce: Once; cdecl; external libOnce name _PU + 'CreateOnce'; The problem is that CreateOnce always returns me nil! If I translate it to function CreateOnce: POINTER; cdecl; external libOnce name _PU + 'CreateOnce'; so I replace Once by POINTER then it's work! Any idea why ? Also how can I convert a pointer to a Once object (Once = interface(IObjectiveC))?
Read More

TMS Training Days 2019: Introduction speaker 3

Bruno Fierens

  • Studied civil electronic engineering at university of Ghent, Belgium (1987-1992).
  • Started a career as R&D digital hardware engineer at Barco Graphics Belgium designing with FPGA, VHDL, graphic processors, PCI, Silicon Graphics add-on boards, high-end printer controllers,…
  • Began writing software in Turbo Pascal 3.0 since 1987 and used all Borland Pascal and all Delphi versions since then.
  • Founded TMS software in 1996, developing VCL components starting with Delphi 1.
  • TMS software became Borland Technology Partner in 1998 and developed Delphi Informant award-winning grid & scheduling components.
  • From 2011 FireMonkey cross platform components,targetting Windows, macOS, Android, iOS.
  • In 2016, TMS software launched FNC, a framework neutral component architecture enabling to use UI controls in VCL,FMX & LCL apps
  • In 2018, TMS software launched TMS WEB Core, a framework for creating rich web clients using ObjectPascal
  • Currently doing and managing VCL, FMX, Web, .NET, IoT, LCL, REST, node.js development.
  • Is a regular speaker at conferences (Be-Delphi, DelphiTage, ITDevCon, CodeWay Tour, EKON, DevTracks, SDN, ..).
  • Available for consulting & custom project development.
  • Bruno Fierens was titled Embarcadero MVP since 2012.
  • Special area of interest are user interfaces design, UX, RAD software development, hardware/electronics.

Sessions at TMS Dev Intensive:

Session 1:

The latest advancements & directions for VCL controls

In this session, Bruno Fierens will discuss the latest state and further planned advancements for VCL UI controls in the TMS VCL UI Pack and other products with respect to handling per monitor high DPI and using the controls in applications using VCL Styles versus using the TMS Office & Windows styles.

Session 2:

TMS WEB Core v1.3

The new features and capabilities of the TMS WEB Core framework for building modern web application clients, installable clients for mobile devices and cross-platform desktop applications will be detailed.
In this session you’ll see the latest new & powerful capabilities to use cloud data, bind to HTML templates, use push notifications, encryption, local file access and more…

Leave a comment down below!

Excited to meet the founder of TMS Software in person?

Tell him how much you like his new product TMS WEB Core, in the comments section!


Did you reserve your seat already?

Don’t wait till last minute and get your seat for either the TMS Business Masterclass, TMS Dev Intensive day or both days!

Stay tuned for more….

Read More

Read More

TMS Training Days 2019: Introduction speaker 2

Holger Flick

Since 1996, Dr. Holger Flick has been using Delphi as his primary development platform and has been an active member of the community. He studied computer science at Dortmund University and later wrote his dissertation at the Ruhr University in Bochum in the field of telemedicine. For his passion for and knowledge of Delphi he was awarded the “Delphi MVP” moniker in 2016.

In 2019, Holger moved to the United States of America (USA) and established his new company FlixEngineering LLC. The company focuses on consulting, training and software development using object-oriented programming languages like Delphi, C#, Swift, and Objective-C.

Holger is part of the TMS Software family providing his expertise as Evangelist and QA Engineer.

Session at TMS Business Masterclass:

Many frameworks, many platforms: TMS has all the tools. You’ve read it many times, but how do all these technologies fit together?

This session will give an example how you can build a database application for multiple desktop and mobile platforms as well as for the web using the same database backend. It will also provide an overview of the technologies that are available from the TMS toolbox and will hand you key pointers how to pick the right one for the task you need to achieve. In short, you will get a hands-on example that covers TMS XData, TMS RemoteDB, TMS Web Core, VCL, and FNC.

Leave a comment down below!

Have you seen Holgers useful videos on our YouTube channel?

Do you need tips on a specific component? You like our videos and want more?

Comment below and tell Holger how much you appreciate his work!

Ask your question or share your opinion / experiences about our products.


Did you reserve your seat already?

Don’t wait till last minute and get your seat for either the TMS Business Masterclass, TMS Dev Intensive day or both days!

Stay tuned for more….

Read More

Read More