易语言调用C#类库?

我用C#重新编写了一个 封装图片功能的DLL,

真晕,我用C#重新编写了一个DLL,再用C#程序加载即可
但是这个实例还是不行呀

楼主,我和# qldsrx(青龙白虎)解释已经还不清楚吗?你怎么还没弄懂啊?
你可以到MSDN,百度、谷歌搜索,也可以弄明白这个问题啊。。。。

C#不知道Timage是啥东西,所以无法调用Timage。。。。楼主这样够通俗了吧?

这样 通用化的DLL,任何开发语言都能调用是吧
说得易懂点,当不同的开发语言之间要调用对方的函数,传递参数时,计算机最终收到的是二进制数据,也就是字节数组,无论是结构体还是类,都是以二进制数据传输的。因此通用化的DLL,参数应该是基本数据类型(INT,FLOAT,DOUBLE,BOOL等)或者byte[],如果用结构体,还必须给出结构体声明,双方构造。像你这种特殊的Timage是不能用在他人调用上的,你要改为TByte后,自己在DELPHI中,根据TBbyte重建Timage,C#可不知道如何建那个Timage类型。

因为Image是每个开发平台自己的类,不能通用,必须在参数封送是转成它们都能识别的东西!
“我这个是一个参数”,楼主,我不是说了吗,你要做DELPHI重新写个方法,在新方法里调用你原来的方法,明白没有?

楼主,非基本类型,都要经过一次处理,变成标准的类型(如:bool ,byte,short,int,double,char*等),才能满足平台调用的要求!

你的函数参数img:Timage,是非标准类型,你要在外层包装,用缓冲区方式:

编写的DLL不符合通用化标准,无法给其它语言程序调用,完毕!

还没看懂啊,楼主!这要跟你说吧:

你的img:Timage这个参数,C#里肯定不能识别,那怎么办呢?
就是想个变通的办法,把这个参数换成两边都能接受的形式,
用void* ,用byte[],都是解决的办法,因为对不同的开发平台,

这下你明白没有!!!!

}

身份认证 购VIP最低享 7 折!

易语言教程。。。。。 Dll的编写与调用。。。。。

Python期末大作业高分锦囊

内容简介:Dll的编写与调用.rar Dll的编写与调用.swf

资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!

}

我要回帖

更多关于 易语言怎么调用类 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信