無駄かもしれませんが
範囲をもっと広げると
ref=""
na=""
if em!0{
sdim beforfilename,1024,em
sdim beforname,32,em
repeat em
beforfilename(cnt)=filename(cnt)
beforname(cnt)=name(cnt)
loop
dialog "mp3",16,"MP3オーディオ"
if stat=0:dialog "選択中断":await wa:return
ref=refstr
em+1
sdim filename,1024,em
sdim name,32,em
repeat em-1
filename(cnt)=beforfilename(cnt)
name(cnt)=beforname(cnt)
loop
filename(em-1)=ref
}else{
dialog "mp3",16,"MP3オーディオ"
if stat=0:dialog "選択中断":await wa:return
ref=refstr
em=1
filename(em-1)=ref
}
////////////////////////////////////////////////////////
screen 1,s1*20,s2*5
font "MS ゴシック",s1
objmode 2
na=getpath(ref,1+8)
pos 0,0
input na,s1*20,s2,32
objsize s1*3,s2
pos s1*17/2,s2*3
button goto "OK",*addlokl
repeat
if ginfo_act!1:gsel 1,1
await wa:loop
*addlokl
gsel 1,-1
gsel 2,1
name(em-1)=na
gosub *makelist
beforacy=0
await wa:goto *main
です。
dialogのバグってことはないですよね・・・