C++调用ArcEngine(C#)动态链接库

    xiaoxiao2021-03-25  98

    1、C#调用ArcEngine生成dll: 新建C#项目,新建ClassLibrary(类库)项目,基于ArcEngine的项目,选择新建ClassLibrary(Engine)。 然后添加需要的引用,新建项目完成后,建议重命名class,可以把需要的变量、方法等定义在类里面。也可以新建其他的类或结构体;namespace名称就是项目名称; 注意变量和方法的访问权限,private包装成dll之后,在之后就不能直接调用private的变量和方法。   在ArcGIS Engine10.0中,许可方式发生了一定的变化,ArcGIS10有一个新的要求---runtime绑定。就是在任何ArcObjects代码(包括许可初始化代码)被执行前,指定相称的ArcGIS产品---ArcGIS Desktop或者ArcGIS Engine应用程序。建立runtime绑定的APIs位于程序集ESRI.ArcGIS.Version的类ESRI.ArcGIS.RuntimeManager中,该程序集随着任何ArcGIS10 runtime一起安装于全局程序集缓存(Global Assembly Cache(GAC))中。安装了ArcObjects.NETSDK,默认的程序集ESRI.ArcGIS.Version位于C:/Program Files/ArcGIS/DeveloperKit10.0/DotNet文件夹下。可以在VisualStudio IDE中将该程序集添加为项目引用。因此需要引用ESRI.ArcGIS.Version类; ArcEngine项目开发的时候需要响应的Runtime权限,在Class类中的构造函数里面,或者函数的入口处,写上如下代码: public Class1() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine); } 代码编写完成后,点击“生成”-“生成解决方案”,然后到对应的debug目录下调用对应的dll文件; 2、C++调用dll: 首先是添加引用,添加引用必须打开clr,然后添加引用,浏览选择需要添加的dll。 引用完成后,使用命名空间,然后使用gcnew方法,gc便能为对象分配内存空间,然后便可调用dll中的变量与方法。 只是添加引用 .dll文件 就可以啦,不用全引用debug文件夹下面的全部文件;
    转载请注明原文地址: https://ju.6miu.com/read-19694.html

    最新回复(0)