【问题标题】:SWIG/Python detected wxPasswordEntryDialog Memory LeakSWIG/Python 检测到 wxPasswordEntryDialog 内存泄漏
【发布时间】:2012-08-07 23:29:15
【问题描述】:

我正在使用 wx.PasswordEntryDialog 从用户那里获取密码,但每次创建 PasswordEntryDialog 时都会收到此错误:

swig/python detected a memory leak of type 'wxPasswordEntryDialog *', no destructor found.

这是导致它的地方之一:

def getpass():
    dialog = wx.PasswordEntryDialog(None, 'Enter your password')
    if dialog.ShowModal() == wx.ID_OK:
        value = dialog.GetValue()
    else:
        value = None
    del dialog
    return value

【问题讨论】:

  • 你如何包装PasswordEntryDialog,即 SWIG 接口来自哪里以及它包含什么?
  • @Flexo:wxPython 是使用 SWIG 构建的。这似乎是 wxPython 的一个奇怪之处。提问者几乎可以肯定没有在这里直接使用 SWIG。
  • Luke 是对的,我正在使用 wxPython。

标签: python memory wxpython swig memory-leaks


【解决方案1】:

我发现你可以通过换行来摆脱消息

del dialog

dialog.Destroy()

(如果相关,我正在使用 wxWidgets/wxPython 2.9.3。)

【讨论】:

  • 有趣的是,我确实想知道它是一个预构建的界面还是 OP 放在一起的东西。你知道这个版本的 wxPython 是用什么版本的 SWIG 构建的吗?
  • @Flexo:不,我不确定它是否相关。我所知道的是,我能够重现提问者报告的消息,并且进行我描述的替换会删除此消息。
  • 我有一种有趣的感觉,在各种旧版本的 SWIG 中存在一些与此相关的错误。
猜你喜欢
  • 2010-10-29
  • 1970-01-01
  • 2011-07-14
  • 2012-07-16
  • 2012-01-22
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多