jsleo 发表于 2013-9-18 16:58:08

用ZMud调用COM的初次尝试

我这人不大会聊天,所以直入主题

起因:不适应zmud的语言语法,所以希望把一些复杂的操作用熟悉的工具去完成
目标:用zmud调用C#编写的类和方法,传递参数并返回结果
环境:ZMud 7.21, VS 2012
步骤:
1、打开vs2012,创建新的名叫zmud的C#类库项目
2、输入以下源码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

namespace zmud
{

public interface MyCom_Interface
{
   
    int Add(int a, int b);
}


public interface MyCom_Events
{
}



public class Class1 : MyCom_Interface
{
    public int Add(int a, int b)
    {
      return a + b;
    }
}
}

3、修改项目属性
a.项目属性->应用程序->程序集信息->选中“使程序集COM可见”
b.项目属性->生成->选中“为COM互操作注册”

4、编译,成功。至此,com组件已经生成并注册在系统中,zmud可以直接调用了

5、切换到zmud,输入以下指令:
#VAR zzzz %comcreate("zmud.Class1")    //zmud对应C#项目的namespace,Class1对应类名
#show @zzzz.add(33,4)
屏幕显示37

参考资料:http://blog.sina.com.cn/s/blog_538342930100nlmk.html

北大侠客行MUD,中国最好的MUD

bluse 发表于 2013-9-18 17:13:25

爱恨交加的721

alucar 发表于 2013-9-18 18:01:17

用外挂还可以提高运算速度,zmud的效率比较低,不适合作大量运算。

jsleo 发表于 2013-9-18 18:07:14

回复 2# yhzzyahoo

新人,纯纯的新人

jsleo 发表于 2013-9-18 18:08:12

本帖最后由 jsleo 于 2013-9-18 10:09 AM 编辑

回复 3# bluse

敢问胸大……呃不……熊大,恨从何来?

jsleo 发表于 2013-9-18 18:09:02

回复 4# alucar

请教,除了路径计算,还有什么需要大量运算的地方?

dmy 发表于 2013-9-18 18:41:49

回复alucar

请教,除了路径计算,还有什么需要大量运算的地方?
jsleo 发表于 2013-9-18 10:09 AM http://pkuxkx.net/forum/images/common/back.gif
字符识别匹配计算量不小。

mfan 发表于 2013-9-18 18:46:42

围观技术帝

catx 发表于 2013-9-18 20:02:30

啧啧,又掀起北侠新一轮技术波澜啊

求识别框架

zgbl 发表于 2013-9-18 20:11:16

又来一个变态。。。
页: [1] 2
查看完整版本: 用ZMud调用COM的初次尝试