You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The aim of this project is to enable the D community to write multi operation system GUI application using an IDE. Delphi allows to write GUI application for Windows / MacOS, Android and iOS using a single code line. It has a highly sophisticated UI toolkit (FireMonkey) while UIs can be easily clicked together. Delphi has a a free community version (with restrictions also free for commercial projects).
In addition it integrates very well with the different stores (Microsoft Store, Android Playstore, ...).
By adding support for Delphi to autowrap, D classes and their methods / attributes can be directly called from Delphi code (e.g. Button handlers) as if they were written in Delphi.
Example: A dub project has a dependency to autowrap and has the targetType dynamicLibrary. It has a module lib.d with this coding:
Command dub build will create a file dmodules.so and also a file includes/lib.pas. In Delphi the folder includes is known. lib.pas contains a Delphi class Foo which will forward all method calls, attribute read / writes,... to the D code within dmodules.so.
What are rough milestones of this project?
Generate Delphi wrapper code for D classes / functions
Get Windows applications running
Get Android applications running
Get MacOS applications running
Get iOS applications running
How does this project help the D community?
Finally it would be possible to write GUI applications for Windows / MacOS and the mobile world in a straight forward way. Just use a very thin Delphi layer and call directly into D classes.
Known issues
Delphi cannot resolve circular references. Developer is forced to write code without circular references or in some cases resolve them using forward declarations.
Description
The aim of this project is to enable the D community to write multi operation system GUI application using an IDE. Delphi allows to write GUI application for Windows / MacOS, Android and iOS using a single code line. It has a highly sophisticated UI toolkit (FireMonkey) while UIs can be easily clicked together. Delphi has a a free community version (with restrictions also free for commercial projects).
In addition it integrates very well with the different stores (Microsoft Store, Android Playstore, ...).
By adding support for Delphi to autowrap, D classes and their methods / attributes can be directly called from Delphi code (e.g. Button handlers) as if they were written in Delphi.
Example: A dub project has a dependency to autowrap and has the targetType
dynamicLibrary
. It has a modulelib.d
with this coding:Command
dub build
will create a filedmodules.so
and also a fileincludes/lib.pas
. In Delphi the folderincludes
is known.lib.pas
contains a Delphi classFoo
which will forward all method calls, attribute read / writes,... to the D code withindmodules.so
.What are rough milestones of this project?
How does this project help the D community?
Finally it would be possible to write GUI applications for Windows / MacOS and the mobile world in a straight forward way. Just use a very thin Delphi layer and call directly into D classes.
Known issues
Delphi cannot resolve circular references. Developer is forced to write code without circular references or in some cases resolve them using forward declarations.
D does not allow writing files (pascal wrapper files) during compile time. A workaround could be the usage of dub postGenerate hook. Write files on CTFE symmetryinvestments/autowrap#250
Recommended skills
Delphi
(If applicable, e.g. GSoC/SAoC)
What can students expect to get out of doing this project?
Point of Contact
References
symmetryinvestments/autowrap#249
The text was updated successfully, but these errors were encountered: