私は AX2009 でカスタム ルックアップを何年も使用してきました。RU7 にアップグレードした後、以前の方法は機能しなくなったようです。それを修正するために何を変更する必要があるかについて何か提案はありますか?
カスタムルックアップを呼び出すために使用したコードは次のとおりです。
public void lookup()
{
List valueList = new List(Types::String);
;
//add the choices to the list
valueList.addEnd('@ABC123');
valueList.addEnd('@ABC246);
//display the list using the customized syslookup routine
SysLookup::lookupList(this, valueList, "@ABC369");
super();
}
sysLookup クラスに追加したメソッドは次のとおりです。
public static client void lookupList(FormStringControl _formStringControl, List _valueList, str _columnLabel = '')
{
Args args;
FormRun formRun;
;
if (_formStringControl && _valueList && _valueList.typeId() == Types::String)
{
args = new Args(formstr(SysLookup));
args.parmObject(_valueList);
args.parm(_columnLabel);
formRun = classFactory.formRunClass(args);
formRun.init();
_formStringControl.performFormLookup(formRun);
}
}
RU7 をインストールするまで、これは完全に機能していました。ここで、次のエラーが表示されます。
コード実行エラー: DictEnum オブジェクトが初期化されていません。(C)\Classes\DictEnum\label (C)\Forms\SysLookup\Methods\run (C)\Classes\FormStringControl\performFormLookup (C)\Classes\SysLookup\lookupList - 16行目 (C)\Classes\FormStringControl\Lookup
現在の問題を修正する方法、または RU7 で同じ効果を作成する方法 (RU7 より前の syslookup クラスを導入せずに、機能しますが、受け入れられません) に関する提案をお待ちしています。