型キャストのバグ

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
高信期

型キャストのバグ

#1 投稿記事 by 高信期 »

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)
山本
Site Admin
記事: 535
登録日時: 2005年5月30日(月) 15:08
連絡する:

#2 投稿記事 by 山本 »

ご報告ありがとうございます。
次回のバージョンアップで修正しますので、今しばらくお待ちください。
返信する