トップページ > 記事閲覧
DrawGraph関数について
名前:C++見習い 日時: 2013/10/18 23:10

DrawGraphという関数について質問です。 DrawGraphは何かしらのエラーが起きると-1を返す関数ですが 具体的に-1が返ったら「エラー」ということを知らせるため、ウィンドウを表示するようにしています。 そこで、マップチップを表示するプログラムを書いたのですが、マップチップは正常に表示されているにも関わらず-1が返ってきてるようで「エラー」というウィンドウが出てきてしまいます。 DrawGraphが-1を返す場合、具体的にどのようなことが原因で返すのでしょうか?
メンテ

Page: 1 |

Re: DrawGraph関数について ( No.1 )
名前:C++見習い 日時:2013/10/18 23:12

すいません。訂正です。 ウィンドウは自分で書いたプログラムで、エラーが返ってきたら表示されるようにしたものです。
メンテ
Re: DrawGraph関数について ( No.2 )
名前:管理人 日時:2013/10/19 01:40

DrawGraph は主に無効なグラフィックハンドルが関数に渡された際に -1 を返します 無効なグラフィックハンドルを DrawGraph に渡してしまていないか確認してみてください
メンテ
Re: DrawGraph関数について ( No.3 )
名前:C++見習い 日時:2013/10/19 08:58

if(DrawGraph(w*CHIP_SIZE,h*CHIP_SIZE,image[cell->Get_No(w,h)-'0'],TRUE)==-1) どうやらこの部分がいけないようです。 cell->Get_No(w,h)はマップデータを返す関数です。 ここの部分がなぜいけないのか原因がわかりません。
メンテ
Re: DrawGraph関数について ( No.4 )
名前:softya(ソフト屋) 日時:2013/10/19 09:57

image[cell->Get_No(w,h)-'0']の値が正常であると保証をまず行って下さい。 そもそも、cell->Get_No(w,h)-'0'が正常である保証もとれていません。
メンテ
Re: DrawGraph関数について ( No.5 )
名前:C++見習い 日時:2013/10/19 14:16

マップデータの中に't','e'や、imageの要素数より大きい数字もあるのでもしかしたらそのせいかもしれないです。 しかし、image[cell->Get_No(w,h)-'0']のような形をしないと条件式に合わせて、image[0],image[1]となってしまうため、コードが長くなってしまいます。なにかいい方法はありませんでしょうか?
メンテ
Re: DrawGraph関数について ( No.6 )
名前:softya(ソフト屋) 日時:2013/10/20 01:02

>マップデータの中に't','e'や、imageの要素数より大きい数字もあるのでもしかしたらそのせいかもしれないです。 それならエラーが出て当たり前です。 > しかし、image[cell->Get_No(w,h)-'0']のような形をしないと条件式に合わせて、image[0],image[1]となってしまうため、コードが長くなってしまいます。なにかいい方法はありませんでしょうか? 必要ならそうするしか無いですが、cell->Get_No(w,h)のメンバ関数の仕様自体に問題が有る気がします。 表示できる値だけを返すように出来ないのですか?
メンテ
Re: DrawGraph関数について ( No.7 )
名前:C++見習い 日時:2013/10/20 02:44

確かにcell->Get_No(w,h)のほうを見直したほうがいいですね。アドバイスありがとうございます。
メンテ
Re: DrawGraph関数について(解決) ( No.8 )
名前:C++見習い 日時:2013/10/23 04:33

すいません。返信遅れました。 今回の件について、cell->Get_Noが返す値を限定して、 また、新しくすべての値を返す関数を返す関数を作ることで今回の問題は解決いたしました。 的確なアドバイスありがとうございました。
メンテ
Re: DrawGraph関数について ( No.9 )
名前:C++見習い(解決済み) 日時:2013/10/23 04:34

すいません。解決済み入れ忘れました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存