Skip to content

Legal question #42

Open
Open
@andre2007

Description

@andre2007

Dear Embarcadero,
Similiar to DelphiFMX4Python I build an API to make use of Delphi FMX from the D Programming Language

https://github.com/andre2007/delta-core-10-2-1
https://github.com/andre2007/delta-fmx-10-2-1

Sample

import delta.core;
import System.Classes, System.UITypes, System.Types, FMX.Forms, FMX.Memo, FMX.Types;

void main()
{
    deltaLibrary.load(`.\views\Win32\Debug\Project1.dll`);
    
    Application.Initialize;
    Application.MainForm = TCustomForm.CreateNew(Application);
    Application.MainForm.Caption = "Sample";
    
    auto memo = TMemo.Create(Application.MainForm);
    memo.Lines.Add("Hello World!");
    memo.Align = TAlignLayout.Client;
    memo.Parent = Application.MainForm;

    Application.MainForm.Show();
    Application.Run();
}

No binary artifact (Dll containing FMX code) is distributed on the Github repository but an user of the repository needs to compile itself a DLL using an official Delphi IDE.

Dll sample source

library Project1;

{$STRONGLINKTYPES ON}

uses
  System.SysUtils,
  System.Classes,
  System.Types,
  System.UiTypes,
  FMX.Forms,
  FMX.Types,
  FMX.Memo,
  FMX.Graphics,
  Delta.Methods,
  Delta.Properties,
  Delta.System.Classes,
  Delta.FMX.Forms,
  Delta.FMX.Objects,
  Delta.FMX.Controls;

{$R *.res}

begin
end.

But the repository contains D wrapper classes for Delphi classes like
https://github.com/andre2007/delta-core-10-2-1/blob/master/source/System/Classes.d
https://github.com/andre2007/delta-fmx-10-2-1/blob/master/source/FMX/Graphics.d

module FMX.ActnList;

import delta.core;
import System.Actions;
import System.Classes: TComponent;

class TCustomActionList: TContainedActionList
{
 mixin!DelphiClass("FMX.ActnList.TCustomActionList");
}

class TActionList: TCustomActionList
{
	mixin!DelphiClass("FMX.ActnList.TActionList")
	
	static TActionList Create(TComponent owner);
}

The mixin template generates the method bodies automatically based on the signatures.

Do you see any legal issue with providing this API and especially providing D wrapper classes for Delphi System/FMX classes on the Github repository?

Also the question when I want to ship an application, I have to distribute the compiled Delphi DLL as part of my application (like https://github.com/andre2007/delta-fmx-10-2-1/blob/master/examples/gui_custom_form/views/Project1.dpr). Do you see any legal issue here?

Kind regards
Andre

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions