相关疑难解决方法(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
查看次数

在Delphi程序中托管.NET运行时

我正在研究在Delphi程序中使用一些.NET代码,我需要使用.net程序集和预定义函数使我的程序可扩展(我已经支持常规DLL).

经过大量的在线搜索后,我找到了 Managed-VCL,但我还没准备好为我需要支付250美元,我还发现了一些代码不完整但不起作用的新闻组.

我正在使用Delphi 2007 for win32.我可以使用什么来从具有预定义参数的程序集动态执行函数?

就像是:

procedure ExecAssembly(AssemblyFileName:String; Parameters: Variant);
Run Code Online (Sandbox Code Playgroud)

我只想补充一点,我需要能够加载任意程序集(可能是特定文件夹中的所有程序集),因此创建C#包装器可能无法正常工作.

.net delphi com winapi interop

13
推荐指数
3
解决办法
7748
查看次数

标签 统计

.net ×2

delphi ×2

c# ×1

clr ×1

com ×1

host ×1

interop ×1

winapi ×1