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

Project1

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

[已经解决] 如何释放已调用完毕的dll

[复制链接]

Lv1.梦旅人

梦石
0
星屑
85
在线时间
146 小时
注册时间
2011-8-14
帖子
70
跳转到指定楼层
1
发表于 2014-9-8 00:48:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
以下是我在RM里写的一个函数,用于调用dll

  
def self.调用dll处理战斗
    battle_process = Win32API.new("xxlhAstd.dll","call_battle_main",nil,"i")
    ok = battle_process.call
     if ok != 1
      p "error:#{ok}---dll未及时释放"
     end

     #call_释放dll #不知道如何实现

    return ok
  end


由于dll中有不少全局变量(类对象占多数),dll内并未写对这些全局类对象的初始化函数,
如果在dll没释放完的情况下,再次调用,则会带来许多不利的影响。所以很希望能够在调用
完dll中函数后,就里面释放掉这个dll。下次重新加载,使用。

@晴兰 @后知后觉
@高人


评分

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

查看全部评分

Lv1.梦旅人

梦石
0
星屑
180
在线时间
509 小时
注册时间
2010-10-1
帖子
97
2
发表于 2014-9-8 01:17:56 手机端发表。 | 只看该作者
额 我记得API不用释放吧?
而且反正都是个对象 你用的时候再直接生成一个不就完了吗?
Win32API.new("xxlhAstd.dll","call_battle_main",nil,"i").call
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

3
发表于 2014-9-8 01:44:32 | 只看该作者
直接battle_process = nil 不就好了?
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

4
发表于 2014-9-8 07:06:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 08:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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