![]() ![]() We keep on running into functionality roadblocks that require us to write extensions to the base FMX library.ģ. Another reason, perhaps less paramount, is that the FireMonkey framework, the API if you like, is still not extensive or detailed enough for the depth of functionality we and our customers assume from our 22 years of using and capitalizing on the VCL framework. With regard to our Delphi customer base, we and the team would rather concentrate on producing the best-in-class VCL controls – witness the newly released beta of the Gantt control as an example.Ģ. Of course, as you can surmise, it’s over twice the usual work and effort to produce a useable control. We found it was the only viable way we could produce the user experience and performance for our controls that our customers expect. In essence, we write them twice: once for iOS with Objective-C, and once for Android with Java, and then create a "simple" Xamarin Forms wrapper to expose their functionality to the C# developer. Actually, this is something we've encountered before with C# and Xamarin Forms: we had to concede that the only way we could develop useful controls for that framework was to write them natively. After some three years of experimentation and development with FireMonkey, we have come to the conclusion that it is too slow for the depth of functionality and the type of controls for which we're recognized. There are several reasons for this decision.ġ. I'm afraid that it's not the best of news: we have decided to put our FMX development on hold and not enhance the grid beta any further. Now that the Thanksgiving break is over, it's time to talk about what we plan for FireMonkey. ![]() I'll leave that up to you to figure out.A couple of weeks ago, we published the latest release of the DevExpress VCL Subscription, v20.2. I'm sure this can be improved upon so it only evaluates the first 50 or 100 rows. R := Grid.TextWidthToColWidth(l,s) * 1.05 //add a little padding W := Grid.TextWidthToColWidth(l,s) * 1.05 //add a little padding R : Single //Result of TextWidth calculation L : Integer //Lenght of Grid Column value Procedure AutoAdjustColumnWidths(const Grid : TStringGrid) ![]() It loops through each column looking at every row and determining the width that column needs to be based on the data in each cell. It's fairly straight forward using two for loops. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |