・#defcfuncによるユーザー定義関数の呼び出し内で、awaitやwait、stopなど
タスクが停止状態になる命令を実行するとエラー(40)が発生しますので使用を避けてください。
・#defcfunc、#deffunc命令によるユーザー定義呼び出し先でgosub命令を使用した際に、
呼び出し先のサブルーチンで引数にアクセスできない不具合が報告されています。
とありますが、類似のエラーだと思われますので報告します。
以下のスクリプトは#defcfunc内でif文によって別のユーザー関数を呼び出しています。
windows上のF5でのrunでは問題なく実行されますが、
android実機ではif文の辺りでプログラムが強制終了してしまいます。
#include "hsp3dish.as" goto *main #defcfunc aaa int a, int b return a+b #defcfunc bbb int c, int d if c==1{ bb = aaa(c,d) } return bb *main repeat redraw 0 pos 0,0 color 255,0,0 mes bbb(1,1) redraw 1 await 10 loop
switch/caseで分岐させても同様に強制終了してしまいます。
logcatではエラー(40)が出ています。
皆さま、同様のエラーが出ますでしょうか?
サブルーチンで書けば回避できそうですが、変数のやり取りが大変そうです。
何か良い回避方法はありますでしょうか?