最近公司进行产品改造,由于存在部分代码是用delphi写的Com+需要调用C#写的Dll方法,经过网上一些搜索和摸索,调用已经OK。但是 至于两者之间的事务问题还需要用到的朋友深入研究。 现在来说一下调用过程:【本地调试通过,环境是XP,delphi7.0,vs2005】 首先在vs2005中创建一Class Library项目,添加2个cs文件,代码分别为: 声明一个接口 1
实现该接口![]() 2 ![]() 3 ![]() 4 ![]() 5 ![]() 6 ![]() 7 ![]() 8 ![]() 9 ![]() 10 ![]() 1
然后在生成类库之前设置一下该项目的属性,如下图所示:![]() 2 ![]() 3 ![]() 4 ![]() 5 ![]() 6 ![]() 7 ![]() 8 ![]() 9 ![]() 10 ![]() 11 ![]() 12 ![]() 13 ![]() ![]() 注意红线标示的部分。 然后对此编译成功的DLL【beep_Class.dll】进行处理,打开 vs2005自带的命令行工具。输入 tlbexp beep_Class.dll 生成 beep_Class.tlb文件。 ![]() ![]() ![]() 下一步是打开delphi7,新建一个Application,在Form上增加一Button。然后选择Project下的,import type library,把刚才生成的Tlb文件【beep_Class.tlb】添加进来, 然后点击 CreateUnit就ok了 delphi中的Button事件代码如下: 1
编译通过,运行结果如下图:![]() 2 ![]() 3 ![]() 4 ![]() 5 ![]() 6 ![]() 7 ![]() 8 ![]() 9 ![]() 10 ![]() ![]() 注意:运行的时候要把Beep_Class.dll放在程序目录中。 |
|