Call for help: Spring4D and Delphi MultiCast events: working for Win32, Win64 and Mac OS X x64, but Android/iOS ARM help needed.


Years after Allen Bauer and a few others wrote about Delphi MultiCast events, the Spring4D framework now supports MultiCast events on 3 platforms:

Mac OS x86

Depending on the platform, the minimum required Delphi version is this (the develop branch builds in Delphi XE6):

Win32: Delphi 2010 and up.
Win64: Delphi XE2 and up.
MacOSX: Delphi XE2 and up.

There are plans for support on Mobile platforms, and Spring4D needs help with that:

The Intel implementation is written in Assembly, and fast.
The Arm compiler does not allow Assembly language for various reasons.

So there is a need for an ARM solution not based on assembly in the Delphi code, preferably as cross-platform as possible. Even when Embarcadero solves QC 101064: TRttiInvokableType.CreateImplementation, there might still be a need for a fast implementation (the x86 and x64 implementations are fast and with the growth of mobile, fast could be a big benefit). If you are interested in helping, or just lurking around:

The current implementation of multi-cast events is in Spring.Events.pas.
The unit-tests are in Spring.Tests.Base.pas.

Some background information about the articles by Allen Bauer, and people implementing multi-cast events themselves:

The Oracle at Delphi » Multicast events using generics.
The Oracle at Delphi » Multicast Events – the cleanup.
The Oracle at Delphi » Multicast Events – the finale.
delphi – Getting Allen Bauer’s TMulticastEvent working – Stack Overflow.
Te Waka o Pascal · multicast events.
Delphi VCL for Win32 – multiple event handlers – Stack Overflow.
Delphi 7: very basic Implementing MultiCast Events for Win32 Delphi’s TDataset and TField Descendants.
Limited to only TNofityEvent: Multicast Delegates (or Web-archived-version of Mulicast Delegates as happens to be down every once in a while).

–jeroenFiled under: Delphi, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development, Spring4D

Comments are closed.