最近需要一个功能,是C#编写的,但是DELPHI要用,C#不能生成普通的DLL,只能生成COM组件,现介绍一下基本方法:
- 运行VS时,建议使用管理员身份运行
- 在C#内,新建立一个C#类库
- 示例代码,上面interface是定义,下面class是实现
-
namespace SMUtilMed { [Guid("6818FDB7-BF52-464D-A184-D430C4509433")] public interface IName { [DispId(1)]//为函数的标识:C#代码中必须定义了接口,才可以按照此方法实现调用。 string encrypt(string data, string appId, string appSecret); [DispId(2)] string decrypt(string data, string appId, string appSecret); } [Guid("E526C7A0-C8F7-452E-B129-C0972104C473"),//空间+类名 记录到注册表中,给其他语言创建对象用 ProgId("SMUtilMed.SMUtil_CS"), ClassInterface(ClassInterfaceType.None)//加上此行,DELPHI才能 正确引入