Archive for the ‘Delphi’ Category
Posted by jpluimers on 2025/04/30
With the huge dependency of Delphi on the LLVM project – basically none of their cross-platform support falls apart without LLVL – I wonder how much Embarcadero and their. mother company Idera contributed back to the LLVM project (which isn’t hard, see [Wayback/Archive] Contributing to LLVM — LLVM 20.0.0git documentation).
I tried these queries with remarkably few results:
The ones found were contributed by [Wayback/Archive] jwiegley (John Wiegley) · GitHub and [Wayback/Archive] atoker · GitHub. I could not find back who atoker is, but John Wiegley was part of the C++ Builder 1 team [Wayback/Archive] The C++Builder 25th Anniversary: Visual Development, the Power of the C++ Language and 2.5 decades of Continuing Excellence but made the patches while working for Boostpro, for instance [Wayback/Archive] [cfe-commits] PATCH [1/2]: Implementation of Embarcadero expression traits.
Hoping the above queries are not good enough: anyone having a more complete idea of the Embarcadero/Idera contributions to the LLVM project?
Especially in the light of this bsky post a while ago:
Read the rest of this entry »
Posted in C++, C++ Builder, Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2025/04/29
Somewhere in the drafts was a note to refer to an old Chris Bensen blog post on the Embarcadero server: blogs.embarcadero.com/cbensen/2005/12/07/22388
Alas, a lot of Embarcadero stuff is gone, some because of Idera not caring, others because as of Codegear, the team never was good at keeping infrastructure alive, nor cater for proper archiging at the Wayback Machine.
Luckily, the Borland days were different, as I found by browsing web.archive.org/web//http://blogs.borland.com/: almost 10k archived pages!
Searching for cbensen or 22388 then got me the actual post [Wayback/Archive] Delphi 2006 Hidden COM Registry Entries (the last link is dead, the others not indexed by search engines) and quoted below while adding some formatting: Read the rest of this entry »
Posted in Delphi, Delphi 2006, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2025/04/24
Posted in Conference Topics, Conferences, Delphi, Development, DVCS - Distributed Version Control, Event, gist, GitHub, ITDevCon, Software Development, Source Code Management | Leave a Comment »
Posted by jpluimers on 2025/04/16
Just in case I ever think “oh, I might try want to go the Variadic function arguments way in Delphi” again, I must remember “maybe not a good idea” and re-read these posts:
- [Wayback/Archive] Variadic function – Wikipedia which in C is implemented with in [Wayback/Archive]
varargs.h – Wikipedia (now in [Wayback/Archive] stdarg.h – Wikipedia) with the identifiers va_list, va_start, va_arg, and va_end.
- [Wayback/Archive] Delphi “array of const” to “varargs” – Stack Overflow with great insights from former Delphi compiler developer [Wayback/Archive] Barry Kelly.
- [Wayback/Archive] E2591 Only
cdecl functions may use varargs (Delphi) – RAD Studio (I already knew this, but it is good to have that bit linked here as well)
- [Wayback/Archive] gmp-wrapper-for-delphi/gmp_lib.pas at master · EricGrange/gmp-wrapper-for-delphi · GitHub with an example how
varargs support got introduced in Delphi 6: for external cdecl functions.
- [Wayback/Archive] Rudy’s Delphi Corner – Pitfalls of converting (still *the* reference article on translating C/C++ headers to Delphi) has this on
varargs:
Fortunately, since Delphi 6, you can declare external functions like wsprintf using the varargs directive.
- [Wayback/Archive] How to create a Delphi variadic method similar to Write/Writeln without requiring brackets for arguments? – Algorithms, Data Structures and Class Design – Delphi-PRAXiS [en] has a nice 64-bit Delphi example using the undocumented Delphi identifiers
TVarArgList, VarArgStart, VarArgGetValue, and VarArgEnd.
Note that this example, despite the description indicates it is, it is actually not varargs by array of const (which requires using TVarRec as under the hood it is an open array of TVarRec): [Wayback/Archive] How to create functions that can accept variable number of parameters such as Format().
Then some Free Pascal links, which is different from, but also similar to Delphi:
Queries:
--jeroen
Posted in .NET, C, C#, Delphi, Development, FreePascal, Pascal, Software Development | Leave a Comment »
Posted by jpluimers on 2025/04/09
This is soooo cool: [Wayback/Archive] GitHub – PluMGMK/vbesvga.drv: Modern Generic SVGA driver for Windows 3.1
Modern Generic SVGA driver for Windows 3.1
This is a rewrite of the Windows 3.1 SVGA driver, designed to support
ALL available 8-bit, 16-bit, 24-bit or 32-bit graphic modes on any system providing the
VESA BIOS Extensions (hence the
VBE in the name). It is based on the Video 7 SVGA driver included in the
Win16 Driver Development Kit, with most of the hardware-specific code gutted out, and with support added for multi-byte pixels.
Related:
It reminds me of other endevours to keep retro-software easy to use: Read the rest of this entry »
Posted in Assembly Language, Delphi, Delphi 1, Development, Power User, Software Development, Windows, Windows 3.11, x86 | Leave a Comment »
Posted by jpluimers on 2025/04/09
Posted in .NET, Borland Pascal, C#, Delphi, Development, History, JavaScript/ECMAScript, MS-DOS, Pascal, Scripting, Software Development, Turbo Pascal, TypeScript, Windows Development | Leave a Comment »
Posted by jpluimers on 2025/04/03
When you look at the History of Delphi (software) – Wikipedia, the real innovation – including Borland Kylix – was during the Early Borland Years fading later with three temporary surges, the first being the Delphi .NET support introduced in Delphi 7 and Delphi 8 happening too late during the Later Borland Years, then during the Embarcadero Years support for Unicode and Generics both in Delphi 2009 and followed by a the struggle of their cross platform compilers and (externally bought) FireMonkey vector-based GUI support independent from the Windows API in the XE series of Delphi versions. The Idera Years did not bring any real innovation: just minor updates presented as major ones.
This went hand-in hand with their then flagship relational database InterBase dwindling down after first open sourcing InterBase version 6 in 2000, then closed sourcing it again (sparking the Firebird database development ) with latest versions were years apart: 2020, 2017 and XE7.
This more or less stalled innovation means that older Delphi manuals and books stay relevant despite their physical copies having been long out of print, and made their way as PDF files on the internet.
So, for my link archive:
Read the rest of this entry »
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2025/03/19
Earlier this months I wrote Writing a tool that restarts the Google Chat desktop app Window (and hopefully the Google Duo desktop app Window too) promising I would rewrite the Delphi code into C# and integrate it into PowerShell.
This is the beginning on porting the basics of the Delphi code (which had a flaw!) to C# and contains EnumWindows/EnumChildWindows and error handling tricks and tips.
Read the rest of this entry »
Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Event, PowerShell, Scripting, Software Development, __Unfinished | Tagged: 46843, 51505, 600 | Leave a Comment »
Posted by jpluimers on 2025/03/13
From a while back, but still interesting:
- [Wayback/Archive] Counting the leading zeroes in a binary number with C#
- [Wayback/Archive] c# – Getting the number of leading 1 bits – Stack Overflow (thanks [Wayback/Archive] Barry Kelly and [Wayback/Archive] SoapBox)
Especially the first link explains the algorithm very well and is similar to links referred to from the Stack Overflow question as it is based on counting ones (and leading ones are basically leading zeros but bit-inverted).
It also explains a cool thing for leading zeros: modern CPU have instructions which .NET Core.
Read the rest of this entry »
Posted in .NET, AArch64/arm64, Algorithms, ARM, Assembly Language, C, C#, C++, Delphi, Development, Software Development, x64, x86 | Tagged: csharp, dotnet, dotnetcore | Leave a Comment »