- Visual Studio 2015 Part3©2ch.net
227 :デフォルトの名無しさん[sage]:2015/10/22(木) 11:46:59.96 ID:fIBDeGYM - >>226
RC_INVOKED の挙動が変わっているっぽいな。 VS2015だとこれが無効にされているのでMAKEINTRESOURCEマクロが有効にされる。 というかリソースコンパイラ以外でWinUser.hをインクルードするのなら無効にするのが正しいのだが。 2010ではどうなっている? こちらは手元に環境がないので確認できん。
|
- Visual Studio 2015 Part3©2ch.net
229 :デフォルトの名無しさん[sage]:2015/10/22(木) 12:20:58.90 ID:fIBDeGYM - いや確かにマクロの2重読み込みは起きている。
実際ヘッダーのコードでもマクロが定義されている以上、ソースコードのマクロと衝突するのは当然に思える。 一方で2013の時はこんな現象に遭遇した記憶はない。 何が違うんだ?
|
- Visual Studio 2015 Part3©2ch.net
230 :デフォルトの名無しさん[sage]:2015/10/22(木) 12:45:35.00 ID:fIBDeGYM - スケルトンコードのLoadCursor関数やLoadIcon関数だと問題ないな。
LoadImage関数に書き換えると問題が発生する。 どちらの関数もリソースIDの扱いは同じだと思っていたが違うのか? 少なくとも2013と2015では共通のソースコードは使えないようだ。
|
- Visual Studio 2015 Part3©2ch.net
232 :デフォルトの名無しさん[sage]:2015/10/22(木) 12:53:46.56 ID:fIBDeGYM - 連投すまん
よく見ればスケルトンのLoadCursor関数のリソースIDはマクロ記述されてない! スケルトンそのものが変わってる。 LoadIconにはマクロ残っているのは謎だけど。
|
- Visual Studio 2015 Part3©2ch.net
235 :デフォルトの名無しさん[sage]:2015/10/22(木) 13:15:31.91 ID:fIBDeGYM - >>233
2013の時はマクロがないと警告どころかコンパイルエラーでそもそもコードが生成できなかった。 だからマクロが必須だった。 2015で同じコード流用するとマクロが2重に適用されるので警告が出る。 正直訳わからん。
|
- Visual Studio 2015 Part3©2ch.net
236 :デフォルトの名無しさん[sage]:2015/10/22(木) 13:16:54.13 ID:fIBDeGYM - >>234
すまんが別人だ。
|
- Visual Studio 2015 Part3©2ch.net
237 :デフォルトの名無しさん[sage]:2015/10/22(木) 13:25:05.40 ID:fIBDeGYM - システム定義のリソースIDでもマクロがないとエラーになっていたのが2013だったけどな。
念のため過去のソースコード調べてみたが、すべてMAKEINTRESOURCEが残ってた。
|