ab.com コミュニティ
https://www.activebasic.com/forum/

ProjectEditorでの・・・・
https://www.activebasic.com/forum/viewtopic.php?t=298
ページ 11

作成者:  Mario2 [ 2005年8月30日(火) 20:53 ]
記事の件名:  ProjectEditorでの・・・・

ABVer4.04.00でバグを発見しました。(β版では直っているかは分かりませんが)

まず1つ目に、Win32プログラミング講座にもあるOPENFILENAMEでABのコンパイラが例外処理(*1)を出しデバッグ側ではアクセス違反となります。
(例)
コード:
    Dim ofn As OPENFILENAME
    Dim buffer[MAX_PATH-1] As Byte

    'ファイル名を取得
    ofn.lStructSize=76
    ofn.hwndOwner=hMainWnd
    ofn.lpstrFilter=Ex"ファイル\0*\0\0"
    ofn.nFilterIndex=1
    ofn.nMaxFile=MAX_PATH
    ofn.lpstrFile=buffer
    GetOpenFileName(ofn)
で説明すると、GetOpenFileName(ofn)の部分でエラーが出ました。(一行づつ「debug」を入れて確認して判明しました。)
ちなみに、デバッグコンパイルでは上のようになりますが、リリースコンパイルをした方のプログラムでは、正常に動作します。

2つ目に、構造体を宣言する「Type」で以下のように関数の前に全角のスペースがあると、ABが動作を停止します。

(例)
コード:
Type SHQUERYRBINFO
  cdSize As Long
  i64Size     As Int64
  i64NumItems As Int64
End Type
SHQUERYRBINFO.の「.」を入れた途端、補完機能が働き、表示させようとがんばっていますが、無限ループしたときみたいにCPUを食います。
もちろん、コンパイルをするとエラーを出しますが・・・
まぁ、この原因はユーザ側なので、すべてがABのせいではありませんが…

それと、さっき発見したのですが、AB4.1βの名残?なのか、「#Strict」を入力してもエラーを出さす、コンパイルできます。もちろん、コンパイラには「[警告]」等は表示されません。
(*1)
例外処理
code:6BA

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/