欢迎光临
我们一直在努力

非托管访问托管类库方法

一、托管类库的创建(VC#)
    1、要公布给非托管程序访问的方法、属性必须同时以接口形式公布,该类实现该接口,接口中没有
的方法、属性,非托管客户端是无法访问的;
    2、所有共享程序集必须带有强名称(由发行者签名)。
       实现强签名方法:在assemblyinfo.cs中写入密钥文件名,然后编译即可
  例如[assembly:AssemblyKeyFile(“sample.snk”)] 默认搜寻路径为%Project Directory%\obj\
    3、启动vs.net控制台程序,执行 regasm  /tlb: ***.tlb ***.dll,以生成相应dll的tlb文件
    4、使用 Gacutil.exe 将程序集添加到全局程序集缓存,执行gacutil /i ***.dll
二、非托管库客户端的创建(vb6中只需添加个引用即可,以下讲vc6)
    1、引入tlb文件,同时引入命名空间。例如:
 #import “LoanLib.tlb” raw_interfaces_only
 using namespace LoanLib;
    2、 HRESULT hr = CoInitialize(NULL);//初始化com
 ILoanPtr pILoan(__uuidof(Loan));//实力化服务器对象
 long x; 
 pILoan->add(10,20,&x);
 //引用服务器类方法,一般有返回值的,返回值会变成最后一个参数,本例中x即为返回值
 CoUninitialize();        //释放com
   

posted on

2005-08-24 10:13

 

赶路人之刚出发

  阅读(

300

)  评论(

编辑

 

收藏

 

举报

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:非托管访问托管类库方法
文章链接:https://www.jmwz.net/1724.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址