msbuild verbosity levels
Passing verbosity levels to msbuild on the one hand can help to quickly locate issues that go otherwise unnoticed, but also make your output so large that it is hard to search through. Some build...
View ArticleDelphi TestInsight: running both DUnitX and DUnit tests in a test project
If you want to run both DUnitX and DUnit tests in a test project using TestInsight as runner encapsulation, then you need to be aware that when there are no DUnitX tests, it will raise an exception. So...
View Articlemsbuild verbosity is not passed to the Delphi command-line compiler any more,...
Last week, I wrote about msbuild verbosity levels. The post was both for my own documentation, but also out of need as I wanted to have way more verbose logging for a Delphi build process involving...
View ArticleReturnAddressUnit to provide ReturnAddress to Delphi versions not supporting...
From a check-in a while ago, when some Delphi versions complained about CallerAddr having been replaced by ReturnAddress and other versions not understanding ReturnAddress, but having CallerAddr. The...
View ArticleDelphi TestInsight: when supporting it, test if it is running at all. Same...
Interesting idea by Cesar Romero (who has some interesting repositories at [WayBack] cesarliws (Cesar Romero) · GitHub and [WayBack] cesarliws — Bitbucket) when using TestInsight for Delphi: first test...
View ArticleOdd error on my Delphi research list: “E2213 Bad packaged unit format”
Just so I remember this did not compile in Delphi XE8 a while ago: [dcc32 Fatal Error] DisableAlignPropertyEditor.dpr(15): E2213 Bad packaged unit format: c:\program files...
View Article“F2063 Could not compile used unit” can also mean you have a DCU file of that...
It took me a file to figure out another cause for “F2063 Could not compile used unit“, this was for a 3rd party library that had parts of the units as source files, but other parts as DCU files. The...
View ArticleSpring4D conference materials
From a while ago, but still very relevant: Materials [WayBack] The Delphi Geek: Spring4D European Conference 2019 sessions [WayBack] The Delphi Geek: Presentations [WayBack] Spring4D Conference: Slides...
View ArticleSince when is the PLATFORMTARGETS resource included in non-package binaries?
A while ago, I discovered that most (if not all) Delphi compiled Windows binaries contain the PLATFORMTARGETS resource. This is a resource introduced in Delphi XE2 meant to be included in package...
View ArticleWindows DLL and EXE rebase
Some links on rebase for Windows DLLs and EXE files, including effects on .NET CLR. Rebasing – Wikipedia [WayBack] Massive Rebase: DLL Sharing and ASLR Investigation [WayBack] Rebasing Win32 DLLs | Dr...
View ArticleXSLT for DUnit TXMLTestListener output
I totally missed this, even though the file has been around for a very long time: [WayBack] DUnit: Xtreme Unit Testing for Delphi / SVN / [r1] /trunk/dunit/Contrib/XMLReporting/dunit-report.xsl...
View ArticleDelphi: migrating applications + DLLs that use ShareMem to using FastMM
Notes to myself: I bumped into some legacy code with a windows process and DLLs both using ShareMem (now System.ShareMem) so that strings could be shared between the instances. There were lots of...
View ArticleDelphi and DUnitX: ensure you catch the ENoTestsRegistered exception
If you setup an empty test project, then DUnitX will throw an ENoTestsRegistered. This exception is not handled, which results in two things: a run-time error 217 if your application is a non-UI...
View ArticleLittle Delphi tip: after “Build the current build group”, do not be surprised...
The Delphi Build groups are great for quickly building a lot of projects in your project group with their various build configuration. One very important tip though: it builds in DEBUG, then RELEASE...
View ArticleSome links on Delphi and CHM help files
I hardly use help files, but some older systems do, and when porting really old Delphi code, often odd implementations of accessing them through HHCTRL.OCX are used. Since I tend to forget the correct...
View ArticleDelphi …hide the scrollbars of a DBGrid?
Recently I needed a plain TDBGrid without a horizontal scrollbar. I based it on the below solutions, but using an interposer class (type TDBGrid = class(TDBGrid) ... end;). Another solution is to...
View ArticleDelphi 10.2 Tokyo introduced a “with” warning: for most “with” statements,...
A cool feature introduced in Delphi 10.2 Tokyo: often [RSP-17326] with statements generate W1048 unsafe typecast warning – Embarcadero Technologies. Only 2 upvotes, so I assume the “anti with camp”...
View ArticleDelphi: types you cannot deprecate
Deprecating all types in a unit besides deprecating the unit itself will cause a hint and warning storm. Especially in projects having a lot of hints and warnings (taking over maintenance of a legacy...
View Articlefile – String format procedure similar to writeln – Stack Overflow
Cool Format feature from [WayBack] file – String format procedure similar to writeln – Stack Overflow: The cool thing about using Format is that you use for Format Strings not only to parameterize...
View ArticleFastMM4: turn warnings W1047 and W1048 off
Delphi 7 introduced introduced warnings for unsafe constructs like W1047 and W1048 so you could prepare your code for the first Delphi .NET compilers . The oldest online documentation on this is in...
View Article