ページ 11

"CreateUpDownControl"の第8パラメータが..."

Posted: 2006年3月22日(水) 11:34
by Forest
"LongからHINSTANCEに強制変換されています"という警告が出ます。
Callback.wbp内の CreateUpDownControl()関数の第8パラメータにある
GetWindowLong()がキャストされていないというだけなのですが...

「バグ」というほどのことでもないのですが、常時#strict宣言しているため
ちょっと...。何とかならないでしょうか?

私もついでに

Posted: 2006年3月22日(水) 13:21
by hira
CreateDialogやDialogBoxを使うコードでは、表示するダイアログにアイコンを設定していると
Callback.wbp(***) - [警告] "LoadIcon"の第2パラメータが、Longから*Byteに強制変換されています。
Callback.wbp(***) - [警告] "SendMessage"の第4パラメータが、HICONからLongに強制変換されています。
が必ず2つセットで出てきます(^^; [*** には行番号が入る]
このため、AucMonのコンパイル時には回避できない6個(↑が3組)の警告が常に表示されます…。

ついでにですが、String$()関数を使うと必ず警告の対象になります(Include\basic\function.sbp)。

コード: 全て選択

dwStrPtr=_System_HeapStringAlloc(length*num)
SetDWord(VarPtr(String$),dwStrPtr)
↑この辺り。
#defineなどを使って工夫してやる必要がありそうですね…。

Posted: 2006年3月24日(金) 01:36
by 山本
Forest さんが書きました:"LongからHINSTANCEに強制変換されています"という警告が出ます。
Callback.wbp内の CreateUpDownControl()関数の第8パラメータにある
GetWindowLong()がキャストされていないというだけなのですが...
hira さんが書きました:CreateDialogやDialogBoxを使うコードでは、表示するダイアログにアイコンを設定していると
Callback.wbp(***) - [警告] "LoadIcon"の第2パラメータが、Longから*Byteに強制変換されています。
Callback.wbp(***) - [警告] "SendMessage"の第4パラメータが、HICONからLongに強制変換されています。
が必ず2つセットで出てきます(^^; [*** には行番号が入る]
このため、AucMonのコンパイル時には回避できない6個(↑が3組)の警告が常に表示されます…。

ついでにですが、String$()関数を使うと必ず警告の対象になります(Include\basic\function.sbp)。

コード: 全て選択

dwStrPtr=_System_HeapStringAlloc(length*num)
SetDWord(VarPtr(String$),dwStrPtr)
↑この辺り。
#defineなどを使って工夫してやる必要がありそうですね…。
Forest様、hira様、ご報告ありがとうございます。
ご指摘いただいた部分は次回のバージョンアップで修正しますので、今しばらくお待ちください。