ページ 11

引数に関数などを書くと

Posted: 2006年10月10日(火) 09:06
by MML
VerはActiveBasic 5(CP3)です。
以下のコードを打つと、エラーがでます。
これは4やCP1では起こりませんでした。なぜですか?

コード: 全て選択

MsgBox hMainWnd,"hMainWnd = "+Str$(hMainWnd)
でなぜかコンパイルエラーになってしまいます。。
CP2でも起こりました。

Posted: 2006年10月10日(火) 18:53
by konisi
String型の定義が変更されたことによるエラーの一つに「固定文字列+String型の演算結果をString型に代入できない」と言う内容のものがあったと思うのですが・・・。

どうでしたっけ?

追記(最終改変:19時20分)
AB5の開発者バージョンの一つのβ3での話でした。β3はCP1より後、CP2より前に一部に発表されています。引用するとこれは演算に対する返り値の話ですが、おそらくこれとほぼ同じ事が関数への引数に対して起こっているものかと思います。

Posted: 2006年10月10日(火) 19:26
by situmon
どのようなエラー内容ですか?
こちらで試しましたが、警告こそ出ますが、エラーは出ませんでした。(厳密な型チェック有効時)
もし、警告のことを指しているならば、

コード: 全て選択

MsgBox hMainWnd,"hMainWnd = "+Str$(hMainWnd)
このコードを

コード: 全て選択

MsgBox hMainWnd,"hMainWnd = "+Str$(hMainWnd As Double)
このように型をキャストしてやることで、警告を抑えられます。
的外れだったらすみません。

Posted: 2006年10月10日(火) 20:56
by konisi
あ、ほんとだ。エラー出ないや。←未確認だった。

Posted: 2006年10月15日(日) 14:40
by MML
>

コード: 全て選択

MsgBox hMainWnd,"hMainWnd = "+Str$(hMainWnd As Double)
> 
あ、、出ませんね。。。
知りませんでした。ありがとうございました。