【发布时间】:2016-06-15 08:34:51
【问题描述】:
当我使用类型库导入器将特定于 .net dll 的 tlb 文件导入 Delphi 时,接受特定于 .net 类型参数的方法被 IUnknown 替换。 当我想从我的 Delphi 客户端应用程序调用这样的方法时,我想传递一个 SQLTransaction 类型的参数值。我如何实现这一目标?我是否需要将所有 .net dll 方法参数更改为从 .net 特定类型继承的用户定义类型?
我在导入 .net tlb 时也导入了 mscorlib_TLB.pas。
.net方法
public class MyConnection : IDisposable
{
public int BulkInsert(SqlTransaction tran);
{...}
}
Delphi中导入tlb的方法:
_MyConnection = interface(IDispatch)
['{9FB088F8-1033-3A99-B9C6-C7D7D2D40140}']
function BulkInsert(const SQLTransaction: IUnknown): int; safecall;
end;
CoMyConnection = class
class function Create: _MyConnection;
class function CreateRemote(const MachineName: string): _MyConnection;
end;
如何从我的 Delphi 客户端应用程序调用 BulkInsert 方法?
【问题讨论】:
标签: c# .net delphi delphi-xe4