- 积分
- 110
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-3-31
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
环境为window,liunx暂不支持c#版的dll发布。
步骤一:使用vs创建dll,编写调用surfer绘图工具进行绘图,以下为代码
步骤二:编写完成的类文件必须加属性:
[ComVisible(true)]
[Guid("063B2593-0420-474B-9C97-D4FFDE1EB46E")]
[ProgId("lcjPlug_v01.DrawContour")]
步骤三:创建接口类,进行发布;
[ComVisible(true)]
[Guid("575CB162-269E-445B-AB22-BFCFB1B5D3FB")]
interface ILcjPlug
{
void dzmSurfer(float xMin, float xMax, float yMin, float yMax, string path, string jsonObj);
void removeBlock(string currPath, string diskPath);
}
步骤四:注册dll为com组件。使用c#自带的regasm进行注册;注册完成后在注册表中HKEY_CLASSES_ROOT查看是否注册成功。
步骤五:使用java的jacob进行调用,以下是调用代码
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
ActiveXComponent dotnetCom = null;
dotnetCom = new ActiveXComponent("您的dll"); //需要调用的C#代码中的命名空间名和类名。
Variant var = Dispatch.call(dotnetCom,"您dll中的方法","第一个参数","第二个参数"); //需要调用的方法名和参数值
String str = var.toString(); //返回需要的字符串
System.out.println(str); //输出得到的字符串。检查结果是否正确。
} catch (Exception ex) {
ex.printStackTrace();
}
}
|
|