質問編集履歴
2
例示の問題が解決したため、解決方法を提示
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,4 +23,16 @@
|
|
23
23
|
COleControlのOnDraw関数にてSetTimer(1, 50, NULL)を実行(戻り値は1)
|
24
24
|
→OnTimerが呼ばれない
|
25
25
|
→他のActiveXオブジェクトで上記と同じことをしているものは、OnTimerが実行されている
|
26
|
-
→Send(or Post)Message(WM_TIMER)を実行時は、OnTimerが呼ばれる
|
26
|
+
→Send(or Post)Message(WM_TIMER)を実行時は、OnTimerが呼ばれる
|
27
|
+
|
28
|
+
---
|
29
|
+
上記例1は一応の解決、例2はきちんと解決したので載せておきます。
|
30
|
+
例1:OnPaintがこない
|
31
|
+
→問題のあるプロジェクトをコピーし、コードには修正を加えずに実行すると、何度試してもうまくいくため、プロジェクトに問題があると判断
|
32
|
+
|
33
|
+
例2:OnTimerがこない
|
34
|
+
COleControlの子ウィンドウにOnPaintを設定しているが、そこで親クラスのOnPaintを呼ぶようになっていなかった
|
35
|
+
→子ウィンドウ側のクラスのOnPaintに、"__super::OnPaint()"を追記することで解決できた
|
36
|
+
|
37
|
+
やはり一口にメッセージが来ないといっても、様々な原因があります。
|
38
|
+
予防的な解決方法だけでなく、問題が起きた時の原因特定のヒントになりうるもの等も、教えていただければ幸いです。
|
1
要点を太字に変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
仕事で、MFCを使うことが度々ありますが、毎回といっていいほど、メッセージが受信できずに困ることがあります。
|
3
3
|
いつもは対処療法のように、色々なところを少しずつ変更し、メッセージが受信できたらOKとしていますが、毎回毎回時間がかかりすぎています。
|
4
4
|
|
5
|
-
OnCreateのタイミングをずらした(必要なとき→親のOnCreate直後に変更した)ら出来るようになった等、原因がまったくわからないがとりあえず出来た、が多いので、ちゃんとした原因が知りたいです。
|
5
|
+
OnCreateのタイミングをずらした(必要なとき→親のOnCreate直後に変更した)ら出来るようになった等、原因がまったくわからないがとりあえず出来た、が多いので、ちゃんとした**原因が知りたい**です。
|
6
6
|
|
7
|
-
こういった、メッセージ自体が飛ばない問題の、予防的な解決方法をご存知の方、また、そういった情報が載っているサイトをご存知の方いらっしゃいましたら、教えていただけませんでしょうか。
|
7
|
+
こういった、メッセージ自体が飛ばない問題の、**予防的な解決方法**をご存知の方、また、そういった情報が載っているサイトをご存知の方いらっしゃいましたら、教えていただけませんでしょうか。
|
8
|
-
調べると、たいてい解決方法は見つかりますが、見つけて試すより、はじめから問題がないものを作りたいです。
|
8
|
+
調べると、たいてい解決方法は見つかりますが、見つけて試すより、**はじめから問題がないものを作りたい**です。
|
9
9
|
|
10
10
|
###発生している問題・エラーメッセージ
|
11
11
|
メッセージが受信できない場合がある。
|