wxWidgets wxFileSystemHandler :: OpenFile()永远不会被调用

时间:2015-03-11 19:25:21

标签: c++ wxwidgets

我扩展了类wxFileSystemHandler以处理我在我的应用程序中使用的特殊协议。我调用了wxFileSystemHandler::CanOpen()的实现,识别协议并返回 TRUE 。但我的wxFileSystemHandler::OpenFile()实现永远不会被调用。我检查了wxWidgets代码,发现CanOpen()成员函数是由我注册的指针调用的。但是当调用OpenFile()时,它们将指针传递给wxFileSystem::MakeLocal()成员函数,该函数试图在哈希映射中获取另一个指针,显然,这不是我的实例。

有人之前遇到过这样的问题吗?

1 个答案:

答案 0 :(得分:0)

不确定你究竟在做什么,即你何时期望调用你的处理程序,但无论如何{@ 1}}如果你将对象标记为动态的话,应该创建同一个类的新实例使用wxRTTI宏创建并使用其他方式给出的对象。因此,如果您确实需要重用相同的对象,则可能需要在其类中使用MakeLocal()。但OTOH为什么要制作一个新实例是一个问题?