おにたまさん、修正頂きましてありがとうございます。
指摘していた部分については直っていましたが、関連で別の不具合が
ありましたのでご報告させて頂きます。
テスト用サンプル:
#include "hsp3dish.as"
a(0)=1: a(1)=2: a(2)=3
i=2
setcls 1,$000000
redraw 0
color 255,255,255
test a(i): st=stat
mes "a(0)="+a(0)+" a(1)="+a(1)+" a(2)="+a(2)+" stat="+st
redraw 1
stop
#deffunc test var _p1
_p1=8
j=_p1: mes "j="+j
p=peek(j,0): mes "peek(j)="+p
p=peek(_p1,0): mes "peek(_p1)="+p
;p=peek(a(i),0): mes "peek(a)="+p
poke _p1,0,16
j=_p1: mes "j="+j
p=peek(j,0): mes "peek(j)="+p+"(poke)"
p=peek(_p1,0): mes "peek(_p1)="+p+"(poke)"
return _p1
Windowsの場合:
j=8
peek(j)=8
peek(_p1)=8
j=16
peek(j)=16(poke)
peek(_p1)=16(poke)
a(0)=1 a(1)=2 a(2)=16 stat=16
Androidの場合:
j=1
peek(j)=1
peek(_p1)=8
j=1
peek(j)=1(poke)
peek(_p1)=16(poke)
a(0)=1 a(1)=2 a(2)=16 stat=16
というように、エイリアスに対しては正常に動作してるようなのですが、
変数にコピーしてからpeekで読むと、またしても配列の先頭を読んでしまいます。
wpeek lpeek でも同様です。
また、配列を直接 p=peek(a(i),0) などとすると、Androidでは落ちてしまいます。
(コメントアウトになってる部分です)
かなり混乱しそうな不具合ですので、修正頂ければ幸いです。