ラジオボタンを反転させたり、チェックボックスの値を取得したりする際に、selfを使ってオブジェクトのポインターを取得していた。これが将来廃止になるというので、次のようにしてみた。
//A01_rbtCommon
//20220826 wat
//ラジオボタンの場合の共通メソッド
//最初にグループのラジオボタンをすべてオフにする。ラジオボタンのグループ化はしない。
vA01_rbtAri:=0
vA01_rbtNasi:=0
//クリックされたオブジェクトのポインターを取得して1を代入
C_POINTER($objPtr)
$objPtr:=OBJECT Get pointer(Object current)
$objPtr->:=1
ラジオボタンの反転処理は、オブジェクトをグループ化すると4Dが自動で処理してくれる。最初はこの機能を使っていたが今は使っていない。ラジオボタンのメソッドを修正する際にグループを解除しなくてはならず、メソッド修正後にグループ化するのを忘れるというのが最初の理由。で、コードで制御するようにしてみたら便利。グループ化されているかどうかはフォームでラジオボタンをクリックして見なければわからないが、コードならソースを見ればグループ化の対象がわかる。またコードは横展開が簡単だ。ラジオボタンを別のフォームに流用する場合、一つコピーして名前を変えて、変数名をフォームの命名規則に合わせる、それを複製して名前を変える、という操作になる。コードなら検索も可能。
やってることの分だけコードがある、のだ。