I’m speechless
Back last July, I blogged about terrible example code posted by Stephen Ball, an Embarcadero ‘Product Evangelist’. Ultimately, the critique of Ball’s code was really just a lead-off for pointing out...
View ArticleReview: Getting Started with Lazarus IDE by Roderick Person
Recently I came across a new Lazarus book, Getting Started with Lazarus IDE, by Roderick Person (that’s not a typo by the way – there is no definite article in the title). This is a small book (only a...
View ArticleDelphi XE4 pricing
It’s not exactly a ‘leak’ given it comes from an official promo video, albeit in Russian, but anyhow, the US pricing for Delphi XE4 has come out: See here (for some reason, the video couldn’t show on...
View ArticleXE4 documentation is up
Just noticed this: http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4 I don’t know whether someone has jumped the gun or not, but from a ‘conceptual overview’...
View ArticleFMX anti-pattern: returning nil rather than raising an exception on an...
In the Delphi RTL and VCL, a method called LoadFromFile or the like will raise an exception if the file doesn’t exist or is invalid. Similarly, if an object property getter implements a lazy-loading...
View ArticleArnaud Bouchez on the ‘nextgen’ compiler
Arnaud Bouchez of Synopse open source fame (mORmot etc.) has written an interesting piece on the ‘nextgen’ compiler that debuted with XE4′s iOS support – check it out.
View ArticleTMS releases iCL – native iOS control toolkit for XE4
Now this looks interesting – TMS have just released iCL, a native iOS control toolkit for Delphi XE4 (link). Given I’ve only just seen the news I don’t have much more to say, however it definitely...
View ArticleProgrammatically shutting down, restarting, sleeping or logging off on OS X
Browsing StackOverflow, I came across a question asking how to programmatically shut down the computer in Delphi when targeting OS X. Mysteriously, the question has been met with four downvotes as I...
View ArticleDon’t expect the Parent property to be set inside an FMX control’s Paint method
So… I’m working on a little custom FireMonkey control. As in the VCL, if you want to handle drawing a custom control yourself, you need to override its Paint method. In my case the override was looking...
View ArticleThe little things…
Honestly, for how many versions now has the following got through? unit FMX.Types; //... type TGradientPoint = class(TCollectionItem) private FColor: TAlphaColor; FOffset: Single; function GetColor:...
View ArticleHow to have a blue FMX TPanel, redux
Back in the XE2 timeframe, I published a short post about giving a TPanel a custom colour. While the solution still works in XE4, give or take an extra unit in the uses clause or use of the...
View ArticleMy FMX TClipboard and TMacPreferencesIniFile implementations now compiling in...
A bit belatedly, but my FireMonkey TClipboard and TMacPreferencesIniFile implementations are now compiling with XE4 (thanks goes to Ken Schafer for prodding me in the case of the former). See my post...
View ArticleFMX TClipboard now supports iOS
I’ve just checked in a revision of my open source FMX TClipboard implementation that has an iOS backend. This supports the current rather than the FPC-based version of ‘Delphi for iOS’, however the...
View ArticleA few XE5-related bits
With XE5 now out, I’ve updated my FMX TClipboard and Mac PDF writer code to compile with it, and in the case of the latter, also made an unrelated fix suggested by Sebastian Zierer. With respect to...
View ArticleFMX issue – inability to safely process paint messages immediately
There are times when you want to repaint a control immediately, typically to give an indication to the user that something is actually happening during a lengthy bit of processing. In the VCL, this is...
View ArticlePearls in the ‘nextgen’-ified RTL source
Back in September 2012, a post appeared in non-tech reporting Delphi’s PCRE wrapper to be many, many times slower than Python’s. With sample code attached, the problem was undeniable, though the...
View ArticleStackOverflown
So… I was finally broken: I created a StackOverflow account. Annoyingly, a certain individual in particular is waaaayy too fast in answering most Delphi questions (genuine expertise + quick on the...
View ArticleNew Delphi blog – Dave Nottage’s Delphi Worlds
I’ve just realised Dave Nottage (TeamB, and now MVP) has a blog, currently focusing on Delphi for iOS – hopefully it will get syndicated by DelphiFeeds.com soon, but until then, check it out directly.
View ArticleTAndroidPreferencesIniFile fix
Just a small note to say, if anyone has downloaded my Android SharedPreferences wrapper (more info here), I’ve just put up a small fix for the ReadBool method, so you might want to update from the...
View ArticleFMX/XE5 issue: new ShowModal overload poorly implemented
A few weeks ago Marco Cantù, the Delphi Project Manager, blogged about a new FMX ShowModal overload introduced in XE5. As Marco explained, the reason for this new overload is because a Windows-style...
View Article