Project1

标题: 关于重写方法后,F12报错 [打印本页]

作者: 沉影不器    时间: 2008-9-14 04:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 神思    时间: 2008-9-14 05:07
#==============================================================================
# vx容错脚本
#==============================================================================
class Bitmap
@@alias_initialize = method("initialize")
def initialize(*args)
  begin
    @@alias_initialize.call(*args)
  rescue Errno::ENOENT
    @@alias_initialize.call(1, 1)
  end
end

-___________-未经测试.........
不过应该能行
作者: orochi2k    时间: 2008-9-14 06:10
栈溢出?!
疑似RM反复地调用了你的方法很多很多次....
原因不明-_-0
作者: 雪流星    时间: 2008-9-14 06:20
试试看用四像素的位图
猜测是计算width 和 height 时出现的问题
作者: 沉影    时间: 2008-9-14 06:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: kissye    时间: 2008-9-14 06:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 雪流星    时间: 2008-9-14 06:41
以下引用沉影于2008-9-13 22:26:16的发言:
原帖漏了最后一个end

帮你加上了
作者: link006007    时间: 2008-9-14 08:23
汗  我打了好长的字.. 原来已经有人解决了
{/ll}
以下引用kissye于2008-9-13 22:41:03的发言:
出错原因:重启后RMXP封装的类没有重置


VX也一样...  F12重新解释ruby脚本  但是先前的解释亦然被保留..
所以lz你F12后的类相当于写了两次, 记得有一个判断方法是否被alias的函数,
一下子想不起来{/gg}, 那个函数应该可以解决lz的问题
class Bitmap
alias ini initialize
def initialize(*args)
  begin
    p *args
    ini(*args)
    return self
  rescue Errno::ENOENT
    ini(1,1)
  ensure
    return self
  end
end
end
class Bitmap
alias ini initialize
def initialize(*args)
  begin
    p *args
    ini(*args)
    return self
  rescue Errno::ENOENT
    ini(1,1)
  ensure
    return self
  end
end
end
作者: 一路一风尘    时间: 2008-9-14 18:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-9-14 22:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: kissye    时间: 2008-9-15 01:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: 美兽    时间: 2008-9-15 01:48
以下引用沉影不器于2008-9-14 14:48:59的发言:

看了楼上的脚本,原来神思可能也是这意思,用类变量的静态特征保存标志位.
也许alias也是以这个形式保存类方法?...


以下引用kissye于2008-9-13 22:41:03的发言:

#  07.08.16
#     修正了按下F12重启后的错误
#     附,出错原因:重启后RMXP封装的类没有重置

这个是xp容错脚本里的
小声说,容错脚本xp和vx基本通用的....


xp容错我看了,是通过File生成空文件来着,好像vx的Bitmap不允许空文件了


我与神思不是一个意思。

错误原因并非在于如何保存类方法,而在于initialize方法的特殊性,当你执行alias或method时,实际其本身根本还未初始化,内容几乎为空,所以对其方法的操作便没有任何意义。
作者: 沉影不器    时间: 2008-9-15 04:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: 一路一风尘    时间: 2008-9-15 05:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-9-17 04:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: 一路一风尘    时间: 2008-9-19 01:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-9-19 06:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-9-22 18:24
提示: 作者被禁止或删除 内容自动屏蔽




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