Redraw:オブジェクト名での更新に対応してください

コレクション型のリストボックスの内容をプログラムから書き換えたのですが
リストボックスに反映されないのでREDRAWコマンドを使って更新しようとしたのですが
REDRAWってオブジェクト名を受け付けないんですね。対応していないことに驚きましたが…

とりあえず、

REDRAW(OBJECT Get pointer(Object named;“list box”)->)

でいけましたが、面倒なので対応をお願いします。 :pray:

こちらに転記いたしました:

https://forums.4d.com/Post//33259813/1/

一般に,データソースがForm.colのようなリストボックスは,
オブジェクトのタッチ(Form:=Form)で再描画できるはずです。

また,カレント項目,カレント選択項目,などの自動制御プロパティは,
ユーザーイベントだけで動くリストボックスでは便利ですが,
ランゲージでも選択したい場合,
干渉を防止するために,プロパティを空欄にする必要があります。
(そうでないと再描画がワンイベント遅れてしまう)

: Keisuke MIYAKO

こちらに転記いたしました:

https://forums.4d.com/Post//33259813/1/

一般に,データソースがForm.colのようなリストボックスは,
オブジェクトのタッチ(Form:=Form)で再描画できるはずです。

また,カレント項目,カレント選択項目,などの自動制御プロパティは,
ユーザーイベントだけで動くリストボックスでは便利ですが,
ランゲージでも選択したい場合,
干渉を防止するために,プロパティを空欄にする必要があります。
(そうでないと再描画がワンイベント遅れてしまう)

転記ありがとうございます。
オブジェクトのタッチで試してみました。確かに再描画されました。
できるのは良いのだけれど、これ他の人が後から見た時に何のために記述されているのかわからない可能性が大きいですね。
ドキュメントもない様なので裏技的なものとして捉えた方が良いのかもしれません。 :-?

裏技・・・おっしゃるとおりですね

想像ですが,REDRAWも内部的にはタッチしているような気がします。(故に変数指定)

いずれにしても,オブジェクト名で再描画を要求するのが自然だと思います。