QtとMFC

MFCからQtヘ移植する際、戸惑うのは。。。


 CObjectとQObject


    これらは、見た目は同じようだが内容は、まったくことなる。 CObjectはオブジェクトの型チェックやシリアライズを提供するもの。 QObjectは、誤解を恐れずに書くとOSのプロセス管理とおなじような機能がある。


したがって、移植する際は注意するべき。


 なお、最近はまったのはQThreadとCWinThread、両者はともイベント(メッセージ)キューをもち、イベント(メッセージ)ループがあるが、Notifyの方法がことなる。 前者はsignal and slotを使い、後者はMessageを使う。


その際、connectのsignal  and slot関数の引数部はQtのプリミティブな型しか受け付けないので注意すること、たとえば移植移行期にはWPARAMやLPARAMなどを使って試すと思われるが、slotを呼んでくれない。 しかも、コンパイルエラーや実行時にエラーメッセージなどは表示されない。 ただ、呼ばないのである。 (補足:これは出来るだけアプリケーションが強制終了しないようにと考慮されているため)



コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

How to preview nif file on the ubuntu.