詳細については、『動的アクセス用の大括弧構文』を参照してください。
// 固定レコード・パーツ
Record ExampleFixedRecordPart type=serialRecord
{
fileName = "myFile"
}
10 ID INT;
10 Job CHAR(10);
end
// レコード・パーツ (非固定)
Record ExampleDynamicRecordPart type=basicRecord
ID INT;
Job CHAR(10);
end
Program myProgram
dynamicPerson ExampleDynamicRecordPart;
myFlexID INT;
fixedPerson ExampleFixedRecordPart;
myFixedID INT;
Function main()
dynamicPerson.ID = 123;
dynamicPerson.Job = "Student";
fixedPerson.ID = 456;
fixedPerson.Job = "Teacher";
relationship Dictionary
{
dynamicRecord=dynamicPerson,
staticRecord=fixedPerson
};
end
end
end
myDynamicID INT; myDynamicID = relationship.dynamicRecord.ID;
dynamicRecord への参照は動的参照となり、ID への参照は動的参照となり、識別子 ID は実行時に可視になります。
myFixedID INT; // 無効 myFixedID = relationship.fixedRecord.ID;
myFixedID INT; myOtherRecord ExampleFixedRecordPart; myOtherRecord = relationship.staticRecord; myFixedID = myOtherRecord.ID;
動的アクセスは、代入 (左辺または右辺)、論理式、および set、for、openUI の各文の中で有効です。
関連タスク
EGL での変数と定数の宣言