The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for the ‘Delphi’ Category

A Key’s Odyssey – the path of a keystroke message through the VCL

Posted by jpluimers on 2018/10/09

Blast from the past, but still relevant, this article by Peter Below:

This article follows the path of a keystroke message through the VCL. You will learn how the key processing is implemented, how the OnKey events work and what intervention points for the programmer can be found in the whole process. In addition, things like message processing are explained, and you will learn how to trace messages in the debugger from the message loop to their eventual destination.

Source: [WayBackA Key’s Odyssey

Via: [WayBack] Vcl.Controls.pasprocedure TWinControl.CNKeyDown(var Message: TWMKeyDown);..if IsMenuKey(Message) then Exit; … – Attila Kovacs – Google+

-jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »

What’s the point of having abstract classes in Delphi? 

Posted by jpluimers on 2018/10/04

There was an interesting thread a while ago: [WayBack] What’s the point of having abstract classes in Delphi? – Agustin Ortu – Google+

The answer is none (the documentation warns you against it – see Constructing instance of abstract class –  the compiler doesn’t), so Stefan Glienke submitted this bug: RSP-10235: No warning for .Create on class declared as TClass = class abstract

This post is a reminder to myself to see if any progress has been made by the compiler engineers.

–jeroen

Posted in Delphi, Development, Software Development | 9 Comments »

On my list to try (about half a year since it appeared): A new mutlti-threading library for Delphi. (darkThreading) – Chapman World

Posted by jpluimers on 2018/10/03

With fresh libraries – like new Delphi and Windows versions – I usually take a pause to see if any major updates have been published to stabalise things.

So about half a year after the release of A new mutlti-threading library for Delphi. (darkThreading) – Chapman World [WayBack], this is a reminder for me to try it.

With the Task Parallel Library still not being up to par, I wonder how DarkThreading compares to the very stable [WayBack] GitHub – gabr42/OmniThreadLibrary: A simple and powerful multithreading library for Delphi.

The source is at [WayBack] GitHub – chapmanworld/darkThreading: Platform agnostic light-locking threading library for Delphi (part of the DarkGlass project).

Note that by now it has moved to [WayBack] DarkGlass/darkLibs/darkThreading at master · chapmanworld/DarkGlass · GitHub (thanks Stefan Glienke for figuring that out)

One comment already: the [WayBack] darkThreading/Building.md at master · chapmanworld/darkThreading · GitHub describes dependencies on the below libraries, but does not use git modules (see [WayBack] Git – git-submodule Documentation) to reference to known stable commits of them:

In the man time, Edwin Yip has reviewed it: [WayBack] Simple Comparison of OmniThreadLibrary and darkThreading (http://chapmanworld.com/2018/05/24/a-new-mutlti-threading-library-for-delphi-darkthreading/) … – Edwin Yip – Google+ after in may he indicated he would look into it at a later stage [WayBack] http://chapmanworld.com/2018/05/24/a-new-mutlti-threading-library-for-delphi-…

–jeroen

Via [WayBackCraig Chapman on Twitter: “My threading library for Delphi (darkThreading) https://t.co/Jo7nVGzsNY”

 

Posted in Delphi, Development, Software Development | 2 Comments »

Just curious, Is there ever a benefit to not providing a GUID in an interface…

Posted by jpluimers on 2018/10/03

An interesting question [WayBack] Just curious,Is there ever a benefit to not providing a GUID in an interface? – Johan Bontes – Google+

The answer is simple: The benefits are almost none and you loose compiler assisted casting ease.

The interesting bits are the discussion where even Embarcadero isn’t sure what kind of magic the compiler does on generic interfaces.

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Not just C++: Thoughts on Dealing with Signed/Unsigned Mismatch – IT Hare on Soft.ware

Posted by jpluimers on 2018/10/02

[WayBack] C++: Thoughts on Dealing with Signed/Unsigned Mismatch – IT Hare on Soft.ware.

I have seen things like this happen in way to many places, not just C/C++:

static_assert( -1 < 1U );//fails!

Take away:

Never ever use explicit casts merely to get rid of warnings (whether signed/unsigned or otherwise)

A way to set various C/C++ compilers apart: [WayBack] GitHub – shafik/determine_c_or_cpp: Determine programatically C from C++ as well as various versions

Via: [WayBack] C++: Thoughts on Dealing with Signed/Unsigned Mismatch – IT Hare on Soft.ware: Kevlin Henney – Google+

–jeroen

Posted in C, C++, Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »

Reminder to self that this cleared itself: Delphi fails to start after Windows did some “Program Compatibility Assistant” magic…

Posted by jpluimers on 2018/10/02

This repaired itself; weird: [WayBack] Delphi fails to start after Windows did some “Program Compatibility Assistant” magic to it when BDS.exe crashed because the compiler ran out of memory:… – Jeroen Wiert Pluimers – Google+

–jeroen

Posted in Delphi, Delphi XE8, Development, Software Development | Leave a Comment »

Debugging Session – Brian Long, 2001

Posted by jpluimers on 2018/09/27

I’m amazed how little things have changed when doing hardcore Delphi debugging: [WayBackDebugging Session

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Scalable HTTP sockets for the cloud, Part 2 – grijjy blog

Posted by jpluimers on 2018/09/26

Interesting stuff:

In this article we will expand on our TgoHttpClient class by adding some core new features including non-blocking http responses, unifying HTTP 1.1, HTTP/S and HTTP/2 support into a common class…

Source: [WayBackScalable HTTP sockets for the cloud, Part 2 – grijjy blog

I’d also be interested in the server part of this, but it seems not there yet.

The client side part 1 is here: [WayBackScalable HTTP/S and TCP client sockets for the cloud – grijjy blog

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Modern Object Pascal Introduction for Programmers

Posted by jpluimers on 2018/09/25

[WayBackModern Object Pascal Introduction for Programmers

via:

–jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, Object Pascal, Pascal, Software Development | 4 Comments »

MahdiSafsafi/ImmersiveColors: Easy way to access Windows 10 Immersive colors

Posted by jpluimers on 2018/09/20

Source: MahdiSafsafi/ImmersiveColors: Easy way to access Windows 10 Immersive colors

via: [WayBack] This is just what I tried to find, but could not figure out what those colors are called :)But anyways some Delphi-superhero has done all work for us… – Tommi Prami – Google+

–jeroen

Posted in Color (software development), Delphi, Development, Software Development | Leave a Comment »