2017-02-21 22 views
0

私はwxpythonでプログラミングしています。私はmvcモデルを使用しようとしています。しかし、私は失われたコントローラで立ち往生しています:)私は説明します。wxpython + mvc delete controller

Aにはコントローラを呼び出すパネルがあります。私はいくつかのことをする。私はコントローラと私のパネルを破壊する。さて私は試してみる。

print "self.tempMApanel.controller: ",self.tempMApanel.controller #'Main' object has no attribute 'controller' 
:私は確かに知ってすることは、私は、メインオブジェクトが属性コントローラを持っていないというエラーを取得するI「印刷」であれば、コントローラので、コントローラをパネルにもうリンクされていないということです

del self.tempMApanel.controller 
self.tempMApanel.Destroy() 

ある瞬間に、新しいコントローラでパネルを再作成します。しかし、コントローラーで何かをするメッセージ(pub.Sendmessage)を送ると、メッセージはパネルに接続されていない古いコントローラーによってピックアップされ、プログラムは(ofcourse :)に苦情を言います。

SO私の特定の質問は、コントローラを「殺す」ことができ、「失われた」、「単一の」、「飛ぶ」コントローラを持つことは可能ですか?

過去2日間のプログラミングは難しい別の次元に持ち上げられました。すべての仮想接続...追跡するのが難しい場合があり、説明したり、助けを求めるのは難しい場合があります。だから、私が何を言おうとしているのかがはっきりしていることを望みます

tx事前に、私はいくつかの天才が私を助けてくれることを願っています!

答えて

0

私の日はとても良いです!私は私たちのITの男との私の "失われた"コントローラの問題について話していた、彼はあなたのコントローラへの参照はまだどこかにあるかもしれない、サブスクライバを使用していると述べた。実際にコントローラがリストに追加されたので、このリストからコントローラを削除してから、私のビューを削除する必要がありました。

私はとても安心しています!最後の3日間に私のプログラムには非常に多くの問題がありましたが、私はこれらすべてを解決しました。しかし、今私は次の部分に進むことができます。

このような問題が発生した場合、私の助言は、常に参考文献を探してください。

関連する問題