从Delphi代码调用.Net非托管代码

时间:2010-08-10 07:42:07

标签: .net delphi

德尔福在减速中包含许多类型 类型   记录

类型    实例

类型   类

它们包含结构布局,或一组方法或包含两者的类。 DotNet包含许多这些对象作为非托管代码,就像您声明Delphi减速一样,但它们是通过DLL访问的。 1 /问题是你使用TComObjectfactroy来访问外部DLL中的减速吗?或者你还用别的东西。我没有任何材料可以阅读这个主题。

2 /我知道你可以使用create方法获取对象指针(类指针),因为它是用FreeAndNil作为指针清除的。如何将create用于包含对象的DLL。

3 /我有.Net ilasm.exe和ildasm.exe以及Delphi asm反编译器,我希望在P / Invoke中找到主DLL并将P / Invoke代码放入Delphi代码中。

但我必须以这种方式理解Delphi对象。 有没有人阅读或看到任何接近这个主题的东西? 到目前为止,我还没有让人们开始理解我的主题是正确的。

Juliano 117给了我http://msdn.microsoft.com/en-us/library/ms973872.aspx 但泰国是Windows的终结!!!!!!!而不是德尔福结束。

2 个答案:

答案 0 :(得分:0)

有关Delphi对象模型和类的内存布局的信息,我相信“Delphi in a Nutshell”一书中的这一章可以为您提供一些很好的信息:
http://oreilly.com/catalog/delphi/chapter/ch02.html

Rudy Velthuis也写了一篇关于这个主题的优秀文章:
http://rvelthuis.de/articles/articles-pointers.html

但是,建议不要在dll和exe之间传递类。

答案 1 :(得分:0)

如果您打算在同一个项目中合并托管的.NET代码和非托管的本机Delphi代码,那么您应该查看RemObjects Hydra。 这是一个生成插件的框架,可以使这项工作变得更加容易。