【发布时间】:2012-09-27 20:05:16
【问题描述】:
我正在使用 Lua 和 wxLua 来构建 GUI。通常当我退出应用程序时,Lua 没有输出。
但是我只是像这样向 wxListView(称为 myListView)添加了一个函数
myListView.foo = bar
function bar (self)
-- do something with the wxListView
end
无论我是否调用过 foo(),当我退出应用程序时,我都会从 Lua 获得以下输出:
~wxLuaObject -2 1 0
如果我注释掉分配,退出应用程序时我不会得到任何输出。相反,我稍后会在代码中将 foo 设为 nil:
myListView.foo = nil
当该行被执行时,我立即得到相同的输出,然后在程序退出时再次得到。
输出是什么意思?我究竟做错了什么?我该如何解决?
谢谢!
【问题讨论】:
-
我可能错过了你想要做的事情。我尝试了以下代码,它工作正常(我的消息被打印,没有其他消息被打印):
listCtrl = wx.wxListView(panel, ID_LISTCTRL, wx.wxDefaultPosition, wx.wxDefaultSize); listCtrl.foo = function() print "something" end; listCtrl.foo()。这是在 Windows 上。你在哪个平台上? -
@Paul - 感谢您的回复!它是 Win 7 64 位。我不知道它是否可以解释我的结果,但我没有提到我正在使用 xrc 文件进行 gui 布局。我在命令行提示符下使用“lua.exe myApp.lua”运行程序,当它退出时,我得到了神秘的消息。