相关疑难解决方法(0)

使用/不使用JCL在Delphi中托管CLR - 示例

有人可以在这里发布一个如何在Delphi中托管CLR的例子吗?我在这里读过类似的问题,但我不能使用JCL,因为我想在Delphi 5中托管它.谢谢.


编辑:文章关于福克斯临托管CLR看起来很有希望,但我不知道如何从德尔福访问clrhost.dll.


编辑2:我放弃了Delphi 5的要求.现在我正在尝试使用Delphi 7进行JCL.但是我再也找不到任何示例.这就是我现在所拥有的:

我的C#程序集:

namespace DelphiNET
{
    public class NETAdder
    {
        public int Add3(int left)
        {
            return left + 3;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我把它编译成了DelphiNET.dll.

现在我想使用Delphi的这个程序集:

uses JclDotNet, mscorlib_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var
  clr: TJclClrHost;
  ads: TJclClrAppDomainSetup;
  ad: TJclClrAppDomain;
  ass: TJclClrAssembly;
  obj: _ObjectHandle;
  ov: OleVariant;
begin
  clr := TJclClrHost.Create();
  clr.Start;
  ads := clr.CreateDomainSetup;
  ads.ApplicationBase := 'C:\Delhi.NET';
  ads.ConfigurationFile := 'C:\Delhi.NET\my.config';
  ad := clr.CreateAppDomain('myNET', ads);
  obj := (ad as _AppDomain).CreateInstanceFrom('DelphiNET.dll', 'DelphiNET.NETAdder');
  ov …
Run Code Online (Sandbox Code Playgroud)

.net c# delphi clr host

18
推荐指数
3
解决办法
8119
查看次数

标签 统计

.net ×1

c# ×1

clr ×1

delphi ×1

host ×1