Ver5 CP4 MessageBoxのバグ

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

Ver5 CP4 MessageBoxのバグ

#1 投稿記事 by KT »

Ver4.2.24上では正常実行できているので、バグとして報告させていただきます
単純なパターンを試験してみました

MessageBox(0, "成功", "テスト", MB_OK)
MessageBox(0, Str$(100) , "テスト", MB_OK)
MessageBox(0, Str$(100) + Str$(200) , "テスト", MB_OK)
MessageBox(0, Str$(100) + "成功" , "テスト", MB_OK)

MessageBox(0, "異常" + Str$(100) , "テスト", MB_OK)

MessageBox(0, "エラー" + "発生" , "テスト", MB_OK)

上記コードで、上から4パターンは正常実行できます
5パーターン目は表示が異常となります
6パターン目はスレッド異常として、エラーとなります
スレッド(&H98C)でアクセス違反がありました(EPI=&H77D015F7)

下記のように変数等で表示内容を編集ののち、実行した場合は正常に実行できています
Dim a As String
Dim b As String
Dim i As Long

a = "あいう"
b = "かきく"
i = 234

MessageBox(0 , a , "Test", MB_OK)
MessageBox(0 , a + b , "Test", MB_OK)
MessageBox(0 , a + b + Str$(i), "Test" ,MB_OK)
MessageBox(0 , Str$(i) + a + b, "Test" ,MB_OK)

変数と実体を直接関数内で処理した場合
MessageBox(0 , a + "さしす" , "Test", MB_OK)は正常実行

MessageBox(0 , "さしす" + a , "Test", MB_OK)は異常表示
となります
ゲスト

Re: Ver5 CP4 MessageBoxのバグ

#2 投稿記事 by ゲスト »

String型がクラスに変更されて、+演算子の扱いが変わったのでは?
なので、これはバグではなく、仕様ではないでしょうか?
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#3 投稿記事 by イグトランス »

いや流石にこれは仕様ではなくバグだと思います,AB4ではできていたのですし。私は,Printでそもそもコンパイルエラーになるということによく遭遇します(やはり一旦変数に入れるとうまくいきます)。
返信する