掲示板の書き方がよくわからないのですが、宜しくお願いします。
バージョンAB4.04ではコンパイルできたのですが、
バージョンAB4.11r01最新バージョンではエラーが出てしまいます。
22 HiWord = HIWORD(l_xy) 'HWORD
23 LoWord = LOWORD(l_xy) 'LWORD
24 HiByteH = HIBYTE(HiWord) 'H**000000
25 LoByteH = LOBYTE(HiWord) 'H00**0000
26 HiByteL = HIBYTE(LoWord) 'H0000**00
27 LoByteL = LOBYTE(LoWord) 'H000000**
SubRtn.abp(23) - 実数に対してand演算子は利用できません
SubRtn.abp(25) - 実数に対してand演算子は利用できません
SubRtn.abp(27) - 実数に対してand演算子は利用できません
よろしく、お願いします。
LOWORD・LOBYTE関数について
MAKELONG
MAKEWORD
LOWORD
HIWORD
LOBYTE
HIBYTE
これらのマクロの定義でキャスト演算が無効になっていたため、実数型を指定するとエラー扱いになってしまっていました。
次回のバージョンアップでfunction.sbp内の各定義文を修正します。
早急に対応されたいかたは、下記のコードをfunction.sbpの352行目~358行目に上書きしてください。
MAKEWORD
LOWORD
HIWORD
LOBYTE
HIBYTE
これらのマクロの定義でキャスト演算が無効になっていたため、実数型を指定するとエラー扱いになってしまっていました。
次回のバージョンアップでfunction.sbp内の各定義文を修正します。
早急に対応されたいかたは、下記のコードをfunction.sbpの352行目~358行目に上書きしてください。
コード: 全て選択
Const HIBYTE(w) = (((w As Word) >> 8) and &HFF) As Byte
Const LOBYTE(w) = ((w As Word) and &HFF) As Byte
Const HIWORD(dw) = (((dw As DWord) >> 16) and &HFFFF) As Word
Const LOWORD(dw) = ((dw As DWord) and &HFFFF) As Word
Const MAKEWORD(a,b) = (((a As Word) and &HFF) or (((b As Word) and &HFF)<<8)) As Word
Const MAKELONG(a,b) = (((a As DWord) and &HFFFF) or (((b As DWord) and &HFFFF)<<16)) As Long