.net用户控件可以用作delphi VCL Forms项目中的控件吗?至少在设计时调整它们的大小并通过强类型或至少调用类似Invoke方法来调用它的方法。有没有什么方法可以创建.net用户控件,以便在delphi窗体上使用它们?
我挖掘了COM技术,但对我来说很难。我希望有一个更方便的.net到delphi interop。
谢谢。
.net用户控件可以用作delphi VCL Forms项目中的控件吗?至少在设计时调整它们的大小并通过强类型或至少调用类似Invoke方法来调用它的方法。有没有什么方法可以创建.net用户控件,以便在delphi窗体上使用它们?
我挖掘了COM技术,但对我来说很难。我希望有一个更方便的.net到delphi interop。
谢谢。
至少有一种方法,那就是将.NET运行库存放到Delphi应用程序中。
你可以看看JCL classes有代码做这个托管。
一旦你做到了这一点,你可以确保你的控制类ComVisible用属性标记它们:
[ComVisible]
public class SomeControl : UserControl
那么你就必须构建从德尔福的控制,如何做到这一点通过JCL系统我不知道,因为我们已经创建了自己的包装。您应该在这里查看JCL类以获取更多详细信息。
有一些问题,但是:
我会认真考虑你是否真的想要这个。从Delphi代码中打开一个.NET窗口会容易得多,而且这会表现得更加可预测。
是的,在.net程序集中保留.net控件看起来要容易得多。 – electron
这无疑是可能的。显而易见的路线是将控件作为ActiveX控件公开。我希望有一个更简单的解决方案来解决你的实际问题,不管它发生了什么。 –
Nex适用于JCL Classes,您可能还需要查看RemObjects的商业Hydra产品,因为它已经被创建用于支持混合模式应用程序的开发:http://www.remobjects.com/hydra/ mixedmode.aspx –