setterだけ一応動きましたw
渡せるとだけ書いてた気がするので
値渡しのみなのかな?
参照渡しは返り値使いますよね
返せるとは書いていなかった気がw
#module mod_label4koubunn i_is_live,i_name,i_ID,i_l_value,i_is_label,i_label
;i_is_live 作ってあるか使う可能性があるならさっさと作ってこれだけでもいれておけw
;i_nameラベル変数の名前
;i_IDラベル変数のID
;i_l_valueラベル変数の値、コマンド番号を格納する(だったようなw)
;i_is_label ラベルを入れてあるか使う可能性があるならさっさと作っていれておけw
;i_label ラベルの値
#modinit
i_is_live=-1
i_is_label=-1
return
#modfunc local init str p_name,int p_ID,int p_l_value
i_is_live=1
i_name=p_name
i_ID=p_ID
i_l_value=p_l_value
return
#modfunc local init_label var p_label
i_is_label=1
i_label=p_label
return
;getter
#modcfunc local get_i_is_live
return i_is_live
#modcfunc local get_i_is_label
return i_is_label
#modcfunc local get_i_name
return i_name
#modcfunc local get_i_ID
return i_ID
#modcfunc local get_i_l_value
return i_l_value
#modfunc local get_i_label var _p_rvar
_p_rvar=i_label
return
#modfunc local set_i_l_value var _p4set_value
i_l_value = _p4set_value
return
#modfunc local dump
logmes "dump "+i_ID
logmes "dump "+i_name
logmes "dump "+i_l_value
return
#modfunc local get4op var p_r
p_r=""+i_ID+":"+i_name+":"+i_l_value
return
#global
#module label4koubunn_opr sys_opr_obj
#modinit
newmod sys_opr_obj,mod_label4koubunn
return
#modfunc local init str _p_name,int _p_ID,int _p_l_value
init@mod_label4koubunn sys_opr_obj,_p_name,_p_ID,_p_l_value
return
#modfunc local del_obj
delmod sys_opr_obj
return
#modfunc local set_obj var p_obj
sys_opr_obj=p_obj
return
#modfunc local get_obj var p_obj
p_obj=sys_opr_obj
return
#global
// 操作obj作成
newmod opr_obj,mod_label4koubunn
// データ入れる
init@mod_label4koubunn opr_obj,"opr",10,500
// 操作先作成
newmod _1st_obj,label4koubunn_opr
init@label4koubunn_opr _1st_obj,"1st",1,100
// setter
set_obj@label4koubunn_opr _1st_obj,opr_obj
// これにset/getする
#module sys_mdl_IF sys_type,sys_IF_name,sys_IF_NO,sys_IF,sys_IF_end
#modinit int _p_no,str _p_name
sys_type="IF"
sys_IF_NO=_p_no
sys_IF_name=_p_name
; newmod sys_IF,mod_label4koubunn
; newmod sys_IF_end,mod_label4koubunn
return
#modfunc local set_sys_IF var _p_obj
sys_IF=_p_obj
return
#modfunc local set_sys_IF_end var _p_obj
sys_IF_end=_p_obj
return
#global
// 操作先作成
newmod _0nd_obj,sys_mdl_IF,0,"0nd"
// データ入れる
init@mod_label4koubunn opr_obj,"opr 02",12,1500
// setter
set_sys_IF@sys_mdl_IF _0nd_obj,opr_obj
// データ入れる
init@mod_label4koubunn opr_obj,"opr 03",13,2500
// setter
set_sys_IF_end@sys_mdl_IF _0nd_obj,opr_obj
パブリックドメインサンプルです
結果。渡したオブジェクト全部同じ値みたいです
knowbug使うとわかりやすいです
オブジェクトを渡すダメサンプルでしたw