Project1

标题: 如何释放已调用完毕的dll [打印本页]

作者: 熊熊烈火雄壮    时间: 2014-9-8 00:48
标题: 如何释放已调用完毕的dll
以下是我在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。下次重新加载,使用。

@晴兰 @后知后觉
@高人



作者: 7408    时间: 2014-9-8 01:17
额 我记得API不用释放吧?
而且反正都是个对象 你用的时候再直接生成一个不就完了吗?
Win32API.new("xxlhAstd.dll","call_battle_main",nil,"i").call
作者: myownroc    时间: 2014-9-8 01:44
直接battle_process = nil 不就好了?
作者: 晴兰    时间: 2014-9-8 07:06
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1