ページ 11

あからさまなバグだと思いますが。

Posted: 2005年12月04日(日) 17:52
by konisi
コンパイラの表示部分に関することなんですが、
#strict指定して型の違う変数同士で演算させたコードを含む文法上おかしいコードをコンパイルしようとすると面白い現象が起きます。

コード: 全て選択


#strict
Dim A=5 As Long
Dim B As Long
B=F(A)a
Function F(A As Double) As DWord
	B=A+5
End Function
見ての通り、実際のエラー数は一箇所で、他は警告(小数点型と整数型の強制変換にかんする事)なのに実際にコンパイルするとエラー箇所が2箇所と表示されます。

仕様ではないとは思ってます。
ちなみにバージョンは4.12.00です。

Posted: 2005年12月04日(日) 17:58
by konisi
4.12.01にて同じ現象を確認できました。早急な対応をお願いします。>>山本さん

Posted: 2005年12月04日(日) 22:33
by イグトランス
ようするに警告もエラーとして数えられていることですよね。
#strictが搭載された最初のバージョンから気付いていましたが,
仕様だと思って気にしていませんでした(爆)。

Posted: 2005年12月05日(月) 22:52
by konisi
実際のところそうだったんですか。#strictっていつ搭載されたかとかそのレベルから知らないので僕は話になりませんが、ちょっと可笑しいと思って調べたら始めて気づきました。3.09から使っているくせに(笑

Posted: 2005年12月05日(月) 23:08
by マティ
自分の環境(4.12.01)で実行するとメッセージは2件ですが、エラーは1件で表示されいます。
ErrorMessage さんが書きました: Error.abp(4) - 閉じカッコ ")" の後に不正な文字が含まれています
Error.abp(6) - [警告] DoubleからLongに強制変換されています。データが失われる可能性があります。
[警告]はワーニングでエラーとしてカウントしませんが・・・
他にエラーが発生するのでしょうか?

Posted: 2005年12月06日(火) 14:56
by 山本
エラー数のところに、警告の個数も累積されるのはおかしいのでは!?という解釈でよろしいですね。

そういうことであれば、明確なエラー・警告の個数表示を行うようにすることで解消できます。

エラー:1、警告:2

次回のバージョンアップで、このような表示に切り替えてみようと思います。