zoukankan      html  css  js  c++  java
  • 非托管访问托管类库方法

    一、托管类库的创建(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
       
  • 相关阅读:
    好想和这俩妹子一起晒晒太阳
    APP里如何添加本地文本
    Xcode静态检查分析代码
    漫谈iOS程序的证书和签名机制
    CrashMonkey4IOS App测试
    iOS 通信常用小功能
    iOS开发之如何跳到系统设置里的各种设置界面
    从APP跳转到WI-FI
    iOS 微信支付总结
    iOS支付宝支付总结
  • 原文地址:https://www.cnblogs.com/Finding2013/p/221535.html
Copyright © 2011-2022 走看看