正如我一直在读的那样
我需要有一些基础来安全地建立 当.net从Windows中占用* .dll时,它不再可用于.com。 1 /这个规则是否意味着我松散了loadlibray()和GetProcAddress()来加载.net dll,如mscorlib.dll。一位开发人员说不,所以我问的是我有什么界限。 delphi是否已将loadlibray()和GetProcAddress()安装到delphi代码中?
2 / MSCorEE.dll有一个包装mscorlib.dll的方法列表,我即将创建一个* .pas文件来连接到MSCorEE.dll。我可以使用mscorlib_tbl文件作为对mscorlib.dll的引用。
3 /安装P / Invoke之后我没有参考创建Delphi包装器。 可以请一些我可以使用的东西。
4 /如果我能找到mscoree.h&的副本metahost.h& MSCorEE.dll会为我节省很多工作。答案 0 :(得分:1)
我想你想要实现像http://www.codeproject.com/KB/COM/simpleclrhost.aspx
这样的东西安装Microsoft SDK,您将获得所有.h所需文件。
然后你可以将C头文件转换成Delphi。你会在this article of Rudy's Delphi Corner中找到。
但是,您需要对低级托管代码的工作方式有很多了解,以便与Delphi非托管代码进行交互。
我并不完全明白你想做什么。查看现有的解决方案,例如调用COM interop,而不是沉入低级未记录的API。它可以节省很多时间。
更容易,从我的实验中,您可以轻松地从Delphi应用程序调用DotNet调用,只需将一些DotNet对象暴露给COM对象,然后从Delphi调用它们。甚至可以非常容易地调用DotNet GUI。您只需注意为Wow64兼容层注册DotNet COM对象,因为Delphi应用程序只有32位(尚未)。