设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5164|回复: 11
打印 上一主题 下一主题

[已经解决] Dll传入参数类型怎么写

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

跳转到指定楼层
1
发表于 2014-6-7 11:37:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RUBY 代码复制
  1. Win32Api.new(dllname, proc, import, export)
  2.  
  3. 参数说明
  4.  
  5. dllname:dll文件的名字,如果想只写dll的名字,可以将dll放到system32目录或者当前目录下,或者写上dll文件所在的路径
  6.  
  7. proc: dll中函数的名字
  8.  
  9. import:函数传入参数的参数类型,其中 "p" 对应指针,"n","l"对应long,"i"对应int,"v" 对应void,如果有多个参数,可以通过 ["p","n"]数组的方式来实现,其中置为nil可以表示没有参数
  10.  
  11. export:函数的返回值类型,参数类型同上


这个...我在研究DLL import 怎么写 我怎么才能知道参数类型是什么  Dll我是用易语言编译的 易语言中参数类型是整数型啊 文本型
而Ruby参数是p n l i v
不懂啊{:6_415:}  有大神吗?

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
121 小时
注册时间
2012-8-6
帖子
124

开拓者

2
发表于 2014-6-7 11:41:34 | 只看该作者
我懂易语言  不过不懂Ruby

点评

大触教我易语言吧【我说笑的  发表于 2014-6-7 13:17

评分

参与人数 1星屑 -10 收起 理由
fux2 -10 无关内容

查看全部评分

学习PS技术中。。。。话说学完也不可能成为大触的吧  
买了一个正版RPG Maker MV  好心疼  话说买了也不会做啊!
回复 支持 反对

使用道具 举报

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

3
发表于 2014-6-7 12:49:39 | 只看该作者
我觉得你可以回去翻翻C了……说明写的那么清楚
  1. 其中 "p" 对应指针,"n","l"对应long,"i"对应int,"v" 对应void,如果有多个参数,可以通过 ["p","n"]数组的方式来实现,其中置为nil可以表示没有参数
复制代码
你还需要别的答案吗

评分

参与人数 1星屑 +2 收起 理由
九幽鬼少 + 2 塞糖 - -

查看全部评分

Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

4
 楼主| 发表于 2014-6-7 13:25:26 | 只看该作者
moy 发表于 2014-6-7 12:49
我觉得你可以回去翻翻C了……说明写的那么清楚你还需要别的答案吗

大神  还是不懂   有例子不  比如易语言中我写了个子程序参数类型是文本型  那ruby中传入的应该是什么
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

5
发表于 2014-6-7 13:25:58 | 只看该作者
【友情提示】易语言写的dll有些需要调用易语言自己的库放在其他地方会失效
【友情提示】推荐还是用vb、vs等写dll吧
如果你坚持要用易语言写的dll...
那么如果需要传入参数请全部填p(不知道多少个就写p*),然后传出参数类型有点奇特在下以前没试出来,可以用[传入一个空的变量让dll赋值]的方法获得它,总之一个弱化数据类型的ruby和各种奇葩数据类型的易语言如何合作还真是头疼呢

点评

原来vb是和vs并列的么  发表于 2014-6-7 13:28

评分

参与人数 2星屑 +120 收起 理由
︶ㄣ牛排ぶ + 100 认可答案
九幽鬼少 + 20 认可答案

查看全部评分


  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

6
发表于 2014-6-7 13:40:55 | 只看该作者
九幽鬼少 发表于 2014-6-7 13:25
大神  还是不懂   有例子不  比如易语言中我写了个子程序参数类型是文本型  那ruby中传入的应该是什么 ...

文本在存储的时候实际上本身的值都是数字,参见ASCII码。dll我没研究过,替你@懂行的人。
@IamI

评分

参与人数 1星屑 +2 收起 理由
九幽鬼少 + 2 塞糖

查看全部评分

Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

7
 楼主| 发表于 2014-6-7 14:35:55 | 只看该作者
本帖最后由 九幽鬼少 于 2014-6-7 14:49 编辑
【友情提示】易语言写的dll有些需要调用易语言自己的库放在其他地方会失效
【友情提示】推荐还是用vb、vs等写dll吧
如果你坚持要用易语言写的dll...
那么如果需要传入参数请全部填p(不知道多少个就写p*),然后传出参数类型有点奇特在下以前没试出来,可以用[传入一个空的变量让dll赋值]的方法获得它,总之一个弱化数据类型的ruby和各种奇葩数据类型的易语言如何合作还真是头疼呢

大神们看看 是不是这样
(先说明运行 我用来测试的是易语言新手教程中的那个DLL---自创信息框)

然后我开始运行

{:6_415:} 怎么出现了这个框  不是呀
我点了确定
然后

窗口出来 有点兴奋 可是过了0.5秒吧 RGSS Player 停止工作了....{:6_394:}
大神 这咋整啊...前面的那个标题为 project1 的提示框要怎么关了  自创信息框的标题与标签内容要咋定义

附:
自创信息框.zip (1.33 KB, 下载次数: 25)

点评

moy
看说明前后两个参数应该一致,也就是说要么都是p*要么都是p,至于问题是不是在这里我也不清楚  发表于 2014-6-7 15:48
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

8
 楼主| 发表于 2014-6-7 16:03:12 | 只看该作者
九幽鬼少 发表于 2014-6-7 14:35
大神们看看 是不是这样
(先说明运行 我用来测试的是易语言新手教程中的那个DLL---自创信息框)

谢谢了 我大概简单的能玩dll了  Thank~~~
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42339
在线时间
7598 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

9
发表于 2014-6-7 21:33:49 | 只看该作者
所以说易语言层次太抽象,无法了解实质……
字符串传入只需要指针就可以,类型p
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

10
 楼主| 发表于 2014-6-7 21:41:18 手机端发表。 | 只看该作者
fux2 发表于 2014-6-7 21:33
所以说易语言层次太抽象,无法了解实质……
字符串传入只需要指针就可以,类型p ...

……本人高中僧  除了易语言  vb什么的都是该死的英语  我英语超差的说

点评

不带这么黑vb的  发表于 2014-6-7 22:01

评分

参与人数 1星屑 +1 收起 理由
kuerlulu + 1 在下也是高中僧

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 15:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表