私は最近、* inlr = * onがファイルの明示的なクローズ(以下のコード)の後に使用されるサービスプログラムを見つけました。それは私のためにむしろ過度に感じる。私が見つけたものから、リソースの解放を処理するRPGサイクルです。だからサイクルがないなら(つまり、メイン/ノーミングのh-specsを持つプログラムでは)、* inlr = * onが何らかの効果をもたらす方法はありませんが...私は確認を見つけることができませんでした。サイクルに関連する問題は私には非常に新しいものです。私は何かが欠けているかもしれません...サイクル以外のプログラムで* inlrを設定しても影響はありますか?
if %open(file);
close file;
endif;
*inlr = *on;
return *on;
* inlr = *をオンにしても、パフォーマンスが大幅に変化することさえありません。サービスプログラムの署名を変更したり、サービスプログラムを呼び出すすべてのプログラムが中断したりすることがないように、サービスプログラムのシグネチャを変更しないように、これらを混乱させないでください。 – danny117
'* inlr'はサービスプログラムの署名を変更しません。変更する唯一の方法は、輸出を変更することです。バインダーソースによって生成されるシグネチャーとは異なるものを意味していない限り、パラメーターを変更してもサービスプログラムのシグネチャを変更することはできません。 – jmarkmurphy