Having installed and activated Delphi XE4 using the license available to me from my employer I decided that, despite the very nasty taste left in my mouth, I would pay the $49 required for the XE4 “hot-fix” release, albeit only in order to remain with the valid update window now imposed by Embarcadero, on the off-chance that one of the next two releases might actually be worthwhile. This uncovered something of an ironic problem.
Read the rest of this entry »
You are currently browsing articles tagged Delphi.
Yesterday I found myself having to write some code that would never be used in order to co-erce the compiler into not complaining that something would not be used when in fact it was.
Read the rest of this entry »
In the previous post in this series, we saw that the number of threads that a given process could support was determined by a number of factors, of which the stack size reserved for each thread was key.
We also saw how we could change the stack size used by our application and how this could increase the number of threads that our process could support. But if you thought it seemed a bit crude to have to set a single stack size for all the threads in a process (including the main thread), then you would be right, and we can do something about this.
Roberto Schneiders recently drew my attention to the first post on his new blog (which I can recommend as a good read
), presenting the results of some performance testing of DataSnap that he had been involved with which proved to be very interesting (if initially somewhat disappointing).
But my post isn’t about that, at least not directly.
The ever evolving DWScript project continues to advance the Pascal language at an impressive pace. Just today it was announced that this scripting version of Pascal now has “namespace” support.
Read the rest of this entry »
In putting some finishing polish on the GUI console of my Smoketest framework (see, I am working on it!) I ran into something that I remember I once knew and – seemingly – had forgotten, about mixing API level access to a GDI device context with the high-level TCanvas access that is conveniently provided for us.
Read the rest of this entry »
In his most recent post, Chris Rolliston points out a gotcha resulting from a change in the VCL with XE3. The post itself is quite interesting and makes some valid and significant observations. However, in the follow up comments Chris makes the observation that the old code was lazy, relied on a compiler detail and should have been “properly” re-written, rather than replacing reliance on one compiler detail with another.
I think it is worth highlighting that Chris’ observations here are – I believe – directed at the use of untyped pointers and dynamic arrays, not the use of the pointer exposed by the TList class itself, as the two things could easily be conflated when reading Chris’ post and the QC issue it refers to.
In an exchange with David Heffernan both on SO and in the comments here on Te Waka, I had cause to climb in my own personal “Wayback Machine” and further investigate an apparent change in compiler behaviour between Delphi 2007 and 2009.
This change was first identified as the result of some code of mine that stopped working in Delphi 2009. The instinctive reaction is “It must be some Unicode issue”, but it turned out that the “problem” was actually a fix to a compiler bug!
In some comments on StackOverflow, Jeroen asked me to post my code for reversing bytes. Rather than posting code into that question/answer that wasn’t directly relevant to the question/answer, I decided to quickly throw the code up on here.
Marc Hoffman has confirmed that “Nougat” is to Mac/iOS as “Cooper” was to Java. Some have speculated that this will be based on Mono, but Oxygene has had Mono covered for some time already, so I strongly doubt that this is the case.


DelphiFeeds