DestoryWindowでのエラー

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ざこ

DestoryWindowでのエラー

#1

投稿記事 by ざこ » 15年前

ダイアログを閉じたいときにAfxGetApp->m_pMainWnd->DestroyWindow()を使ってますが
Debug Assersion Failed!とたびたびでます。でないときもあります。どういうときにでているのでしょうか?
原因と解決策を教えてください

Blue

Re:DestoryWindowでのエラー

#2

投稿記事 by Blue » 15年前

なぜこの記述が必要なんでしょうか?
ダイアログクラスであれば、EndDialogとかOnCancelとか使ったほうが良いのでは?

>Debug Assersion Failed!
が出れば、「再試行」からどこでASSERTIONがおこっているか特定できます。
大概、ウィンドウがもう閉じているとかそういうことでしょうけど。

ざこ

Re:DestoryWindowでのエラー

#3

投稿記事 by ざこ » 15年前

ダイアログがどうしても起動してしまのでMoveWindow(0,0,0,0)とかして閉じたいと思いました。EndDialogというのは始めてみましたが・・これをInitDialogのファイル移動直後に使ったら実質起動しない感じになり、前質問の問題
も解決しました。ありがとうございました。それにしても知らないメンバ関数が多すぎますね・・新VisualC++6.0入門(林晴比古)のビギナとシニアもってるんですが不十分な気もしますね。
何かメンバ関数が詳しくたくさんのってるサイトか参考書ないですか?ヘルプはメンバ関数の内容とかわかるんですけど逆がわからなくてプログラム組むときには苦労してます。

Blue

Re:DestoryWindowでのエラー

#4

投稿記事 by Blue » 15年前

>ダイアログがどうしても起動してしまので
なぜに?

http://www.play21.jp/board/formz.cgi?ac ... tree#30518
でも回答が付いているように
DoModalで表示しているのであればあたりまえです。

バグ

Re:DestoryWindowでのエラー

#5

投稿記事 by バグ » 15年前

MSDNを見れば全てのメンバが解説されてますよ。
VC++6.0ならば、F1キーでMSDNライブラリというウインドウが開くと思います。
そこでキーワードタブをクリックし、CDialogと打ち込めば、CDialogクラスに関するインデックスが表示されると思います。その中に「CDialog クラスメンバ」というのがあるので、それをクリックすればメンバが表示されます。

私も「新VisualC++6.0入門」を持ってますが、これとMSDN、それにネット検索を利用すれば特に困ったことはないんですけどねぇ。入社した当時はプログラムのことを全然知らなかったんですが、それでもなんとかなってましたし…

効率のよい調べ方、デバッグの仕方なんかはどうしても経験を積まないとなかなか身につかないのは良く理解できます。

MFCでオススメサイトを載せておきますね。

http://athomejp.com/goldfish/

ざこ

Re:DestoryWindowでのエラー

#6

投稿記事 by ざこ » 15年前

>>ダイアログがどうしても起動してしまので
なぜに?

全質問スレッド参照です。当然ですね。


>私も「新VisualC++6.0入門」を持ってますが、これとMSDN、それにネット検索を利用すれば特に困ったことはないんですけどねぇ。入社した当時はプログラムのことを全然知らなかったんですが、それでもなんとかなってましたし…

私も同じ方法です。どのクラスを使うかわからないと話にならないんですかね。クラスがわかればヘルプで調べています。

閉鎖

“C言語何でも質問掲示板” へ戻る