Byte,Word型、もしくはその範囲のリテラル値を一旦同ビットの符号付き整数にキャストてから、
より大きいビットの整数型や実数型に代入すると元の符号なし整数型と同値が代入されます。
(DWord型は問題なし。また、引数で直接キャストしても問題なし。)
このため、GET_X_LPARAM,GET_Y_LPARAMマクロが移植できません。
ご確認お願いいたします。
確認バージョン AB Ver4.13.00(2005 Final)
コード:
#prompt
Dim AInteger As Integer
Dim ALong_1 As Long, ALong_2 As Long, AInt64_1, AInt64_2 As Int64
Dim ADouble_1 As Double, ADouble_2 As Double
Dim AByte = &HFF As Byte, AWord = &HFFFF As Word, ADWord = &HFFFFFFFF As DWord
AInteger = (AByte As Char)
ALong_1 = (AWord As Integer)
ALong_2 = (&HFFFF As Integer)
AInt64_1 = (ADWord As Long)
AInt64_2 = (&HFFFFFFFF As Long)
ADouble_1 = (AWord As Integer)
ADouble_2 = (ADWord As Long)
Print Str$(&HFF As Char)
Print Str$(AWord As Integer)
Print Str$(AInteger)
Print Str$(ALong_1)
Print Str$(ALong_2)
Print Str$(AInt64_1)
Print Str$(AInt64_2)
Print Str$(ADouble_1)
Print Str$(ADouble_2)