我有一个布尔字段,我想使用MyField.SetValue(Self, MyValue)
. 无论我尝试什么,我都会不断收到类型转换错误。
问题是 MyValue 总是包含一个序数并且不被识别为包含一个布尔值。我知道布尔值是一个枚举,它是一个序数,但仍然可以使用 TValue 设置布尔字段和属性。
MyValue.IsOrdinal = True
我尝试了以下方法来启动 MyValue但每次都MyValue.IsBoolean = False
:
MyValue := TValue.From(True);
MyValue := TValue.From<Boolean>(True);
MyBool := True; MyValue := MyValue.From(MyBool);
MyBool := True; MyValue := MyValue.From<Boolean>(MyBool);
MyValue := True;
MyBool := True; MyValue := MyBool;
MyBool := True; TValue.Make(@MyBool, TypeInfo(Boolean), MyValue);
有没有办法让 TValue 接受它包含一个布尔型 iso 序数以便MyField.SetValue(Self, MyValue)
成功?
提前致谢,
德科拉曼