ANY 型の変数は、その変数に割り当てられた値のタイプを受け取ります。 値は、INT などのプリミティブ型か、タイプとして使用されたデータ・パーツに基づいた変数とすることができます。 書式または dataTable を値とすることはできません。
myInt INT = 1; myString STRING = "EGL"; myAny01, myAny02 any; // myAny01 は値 1 と INT の型を受け取ります。 myAny01 = myInt; // myAny02 は値「EGL」と STRING の型を受け取ります。 myAny02 = myString; // 次の文は無効です。なぜなら、 // INT 型の変数を STRING 型の変数へ // 代入しようとしているからです。 myAny02 = myAny01;
無効な方法でタイプを結合しようとするアクションは、実行時にのみ検出され、プログラムの終了の原因となります。 それらのアクションには、値を互換性のないタイプのフィールドに代入すること、引数値を互換性のないタイプのパラメーターに渡すこと、式の内部で互換性のない値同士を結合することが含まれます。
ANY 型の変数を参照する場合、アクセスは常に動的です。固定構造体 (dataTable、印刷書式、テキスト書式、または固定レコード) の中に ANY 型のフィールドを組み込むことはできません。
関連リファレンス
プリミティブ型