[pochy-user] Re: Visual C++ .NET version 2003 でのコンパイル

アーカイブの一覧に戻る

sabor****@olive***** sabor****@olive*****
2003年 12月 23日 (火) 17:23:48 JST


hiroさん、こんばんは。
平中です。

以下インラインです。

On 2003/12/23 15:17:48
hiro-****@hiro-***** wrote:

> 早速、手持ちのVisual C++ .NET Version 2003 でのコンパイルを行ってみました。
> コンパイルエラーは3点ありました。うち2点はVer0.1.9での私の報告ミスでした。申し訳ございません。

いえいえ、とんでもないです。

> 
> まず私のミス2点について。
> DraftFrame.cpp 90行目 ON_NOTIFY
> MainFrm.cpp 75行目 ON_NOTIFY
> 前回「これらのマクロの最後の引数には BOOLを返り値とする関数を期待されているようです」と
> 御報告しましたが、これは私の勘違いで、返り値のない関数を期待しているようです。というわけで、
> 大変申し訳ありませんが、次バージョンでOnToolbarDropDown を返り値のない関数へ戻して頂けないでしょうか。

はい、了解しました。

> 
> 次に、今回新たに見つかったものです。
> TextView.cpp 59行目 ON_COMMAND
> このマクロの最後の引数にはAFX_PMSGというタイプの関数を期待されているようです。
> 実体は返り値の無い関数のようです。1行上のOnPageUpが返り値の無い関数なのに対して、
> OnPageDown はboolをかえす関数になっていて、Visual C++ .NET Version 2003では
> エラーになってしまいました。エラーを消す方法としては2種類ありまして、一つは
> OnPageDownとほぼ同じで返り値のない関数を作ることです。もう一つは
> ON_COMMAND(ID_PAGE_DOWN, AFX_PMSG(OnPageDown))
> というように、OnPageDownをcastする方法です。前者の方が確実ですが
> ソースコードが読みにくくなるので、後者で問題なければ後者のほうが良いと思われます。
> そこで、とりあえず、後者でコンパイルして様子を見ることにしました。
> この OnPageDown という関数がどのような状況で呼び出されるか教えていただければ
> 集中的にチェックしたいと思います。

OnPageDownは見た感じ、下記のように二種類の使われ方をしているようですので、
前者の方が無難かもしれません。

- ID_PAGE_DOWNメッセージで呼ばれる場合
- void CTextView::OnScrollAndNextUnread()から呼ばれる場合

私はあまりこの辺りに明るくないので、皆様からのご意見をお聞かせ頂ければ幸い
です。





pochy-user メーリングリストの案内
アーカイブの一覧に戻る