Thread overview
Delta - Bridge to the Delphi ecosystem
Sep 04
Domain
September 03
Delta is a proof of concept to enhance the D Programming Language with the
Delphi ecosystem.

There are 2 scenarios Delta tries to achieve:

-   Create your GUI using the Delphi RAD Studio and connect the events with your
    logic written in D.
    The obligatory Hello World sample:
    https://github.com/andre2007/delta-fmx-10-2-1/tree/master/examples/gui1

-   Use non visual Delphi components in your D code. There are a lot of components
    available for almost every purpose. For example you would be
    able to use the INDY (Internet Direct) components.

    In the sample application, the TTimer component is used. This example also
    shows how to write a wrapper component in D if the component is not already
    available.
    https://github.com/andre2007/delta-fmx-10-2-1/tree/master/examples/ttimer


More information how to start:
https://github.com/andre2007/delta-core-10-2-1/blob/master/README.md

Notes:
- Although Delta is currently only a proof of concept maybe some of you can profit from it.

- The proxy objects on D side (TForm, TTimer, TEdit,...) currently are written manually. Maybe in the future there could be a Delphi unit parser which automatically creates the Delphi & D source proxy objects

- Everytime accessing an Delphi object on D side, a new object is created. I am currently not sure whether this concept will stay

- At the moment Delta targets Windows.

- At the moment the packages are not registered at code.dlang.org as the project is in an early state.

September 04
On Sunday, 3 September 2017 at 19:53:59 UTC, Andre Pany wrote:
> Delta is a proof of concept to enhance the D Programming Language with the
> Delphi ecosystem.
>
> [...]

Cool! Any plan to support lazarus/fpc?
September 04
On Monday, 4 September 2017 at 02:32:48 UTC, Domain wrote:
> On Sunday, 3 September 2017 at 19:53:59 UTC, Andre Pany wrote:
>> Delta is a proof of concept to enhance the D Programming Language with the
>> Delphi ecosystem.
>>
>> [...]
>
> Cool! Any plan to support lazarus/fpc?

That makes a lot of sense as Lazarus supports the major platforms. It consists of 2 tasks:

1) Currently Delta is using the Enhanced RTTI which is only available for Delphi. I have to check wheter I can replace it with the old RTTI, also available for Lazarus.

2) Write proxy objects on D side for all needed Lazarus System/VCL classes, enums, ...

I would postpone it until I have a tool which generates based on pascal units the needed Delta pascal units/ D modules.

Kind regards
André