AB313,424,AB5CP5で確認。
AB262でもエラーは出ませんでした。
コード: 全て選択
Dim a b c As Long,x y z As Long
x y z=a b c
コード: 全て選択
const a number=1
Dim b As Long
b=a number
コード: 全て選択
Sub asm(a As Long,b As Long)
End Sub
const add eax =1
const edx =2
asm(add eax,edx)
p.s. [ここをクリックすると内容が表示されます]
次は実行時に落ちる色々弄った結果、aをCで言う所の*aとして扱ってるのに引数として0とかを渡してるのが原因だと判明。
次のようにすると異常停止はしないようだ。(非常にトリッキーな動作をするが・・・。)
コード: 全て選択
Sub test(ByRef a As Long)
a=a+1
End Sub
Dim ByVal eax As Long
Dim eax As Long
test(ByVal eax)
次のようにすると異常停止はしないようだ。(非常にトリッキーな動作をするが・・・。)
コード: 全て選択
#prompt
Sub test(ByRef a As Long)
a=a+1
End Sub
Sub cpy(ByRef dst As Long,ByRef src As Long)
dst=src
End Sub
Dim ByVal eax As Long
Dim eax As Long
eax=VarPtr(ByVal eax)
test(ByVal eax)
Dim b As Long
cpy(b,ByVal eax)
Print b
Print eax