メソッド引数へのエンティティセレクションはダメ?

Product :4D - 4D Server
4D : v17R5 237993

メソッドの引数にエンティティセレクションを渡してみたのですが
$1はnullでした。
メソッドの先頭でC_COLLECTION($1)
としていたのですが、これをコメントアウトすると
$1にエンティティセレクションが渡りました。

これは不具合なのか仕様なのなどちらでしょうか? :frowning:

エンティティセレクションはオブジェクト型です。

クラス名が[object entityCollection]だったり,

添字[0]が使えるのでコレクションかと錯覚しそうですが・・・。

うまくいきました。 :smiley:

リストボックスのくくりがコレクション/エンティティセレクションなので
C_COLLECTIONだと思ってました。

この仕様だとコレクションもしくはエンティティセレクションを渡す引数がつくれないんですね。
オブジェクト型からコレクション型に変更した方が良い様に思います。 :mrgreen:

コレクションとエンティティセレクションでは,

たとえばメタ情報式の中でハイライト行を検出する方法も違いますし,
仮に型が一緒だったとしても,メソッドが汎用的になることはないと思います。

呼べるメソッドも違いますし,
query()やslice()のように同名のメソッドもまったく違う意味を持ちます。

フォームオブジェクトのプロパティは,
コレクションとエンティティセレクションを区別しませんが,
メソッドは両者をしっかり区別する必要があるかと思います。

: Keisuke MIYAKO

コレクションとエンティティセレクションでは,

たとえばメタ情報式の中でハイライト行を検出する方法も違いますし,
仮に型が一緒だったとしても,メソッドが汎用的になることはないと思います。

呼べるメソッドも違いますし,
query()やslice()のように同名のメソッドもまったく違う意味を持ちます。

フォームオブジェクトのプロパティは,
コレクションとエンティティセレクションを区別しませんが,
メソッドは両者をしっかり区別する必要があるかと思います。

値を参照するだけだったら同じなので特にこまらなかったです。:mrgreen:
コレクションかエンティティセレクションかどうかはメソッド内で判断するではだめなのでしょうか?