ProjectEditorでの・・・・

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
Mario2
記事: 205
登録日時: 2005年5月31日(火) 13:31
お住まい: 大阪市
連絡する:

ProjectEditorでの・・・・

#1 投稿記事 by Mario2 »

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
返信する