幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2834|回复: 7

[提问] 如何使用dll ?(以解決)

[复制链接]

8

主题

37

帖子

1072

积分

⑥精研

积分
1072
发表于 2010-5-13 02:22:42 | 显示全部楼层 |阅读模式
是使用類似
global.dllgmww_window_create=external_define("GMWW.DLL","window_create",1,0,3,1,0,0);
這樣的語法來載入dll嗎?
回复

使用道具 举报

19

主题

89

帖子

2648

积分

⑥精研

积分
2648
发表于 2010-5-13 10:41:41 | 显示全部楼层
首先你要了解你的Dll里面是否带有你需要的函数,然后你需要初始化一次dll,比如你说的这句话,正确应该是

global.dllgmww_window_create = external_define(

  "GMWW.DLL",
   
  "window_create",
   
  dll_cdecl,
   
  ty_real,
   
  3,
   
   ty_real,
   
   ty_real,
   
  ty_real
   
  )


这是初始化dll的一句话,只需执行一次

接下来你要调用dll的时候,是使用

external_call(global.dllgmww_window_create , argument0 , argument1 , argument2)

其中 argument 则是你的那句话的最后3个数1,0,0
回复 支持 反对

使用道具 举报

335

主题

782

帖子

1万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
12742
发表于 2010-5-13 10:41:50 | 显示全部楼层


另外 自己多试验喔~
回复 支持 反对

使用道具 举报

19

主题

89

帖子

2648

积分

⑥精研

积分
2648
发表于 2010-5-13 10:43:56 | 显示全部楼层
挖!吓咱一跳,突然出现啦..正在编辑呢
回复 支持 反对

使用道具 举报

8

主题

37

帖子

1072

积分

⑥精研

积分
1072
 楼主| 发表于 2010-5-13 18:26:58 | 显示全部楼层
這論壇有人可以解答  真感動...
另外在問一下
external_define(dll,name,calltype,restype,argnumb,arg1type,arg2type,

calltype的dll_cdel與dll_stdcall兩者有什麼差別呢?

restype的ty_real與ty_string是否意思著數字與字串?
回复 支持 反对

使用道具 举报

19

主题

89

帖子

2648

积分

⑥精研

积分
2648
发表于 2010-5-13 19:30:55 | 显示全部楼层
噢~这2个呀,因为gm是利用delphi语言编写的,所以他们俩其实是delphi语言里的参数,大概解释就是这样··这个嘛主要是为了兼容某些语言是倒着读取参数的数据而设定的~~所以你一般使用dll_cdecl,是不会有问题的,具体更详细的作用你可以去看看delphi语言。

ty_real與ty_string正如你所说,意思就是数字和字符串,但是你要注意一点! 可以返回的参数虽然有16个,但是如果超过4个的话,就只能使用ty_real~
回复 支持 反对

使用道具 举报

8

主题

37

帖子

1072

积分

⑥精研

积分
1072
 楼主| 发表于 2010-5-13 19:47:33 | 显示全部楼层
謝謝,了解了
回复 支持 反对

使用道具 举报

19

主题

89

帖子

2648

积分

⑥精研

积分
2648
发表于 2010-5-13 19:53:59 | 显示全部楼层
欢迎来玩~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-3-29 19:03 , Processed in 0.021828 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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