有人可以在这里发布一个如何在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) 我正在研究在Delphi程序中使用一些.NET代码,我需要使用.net程序集和预定义函数使我的程序可扩展(我已经支持常规DLL).
经过大量的在线搜索后,我找到了 Managed-VCL,但我还没准备好为我需要支付250美元,我还发现了一些代码不完整但不起作用的新闻组.
我正在使用Delphi 2007 for win32.我可以使用什么来从具有预定义参数的程序集动态执行函数?
就像是:
procedure ExecAssembly(AssemblyFileName:String; Parameters: Variant);
Run Code Online (Sandbox Code Playgroud)
我只想补充一点,我需要能够加载任意程序集(可能是特定文件夹中的所有程序集),因此创建C#包装器可能无法正常工作.