我有一个 FMX 编辑框,并且想将输入的值 ( TEdit.Data
)分配给TValue
某个对象的属性。该对象还包含一个TypeInfo
指针,该指针指定在编辑框中输入的数据应该是哪种类型。
TAttrib = class(TObject)
public
property WantedType: PTypeInfo;
property Value: TValue;
end;
我想要完成的是,我可以将输入的数据分配给 TAttrib.Value,然后根据 WantedType 验证输入的数据是否采用正确的格式,如下所示:
Attrib.Value := TEditbox.Data;
Valid := Attrib.Value.TryCast(Attrib.Wantedtype, lVal) and (not lVal.IsEmpty);
这失败了,因为Value
它始终是字符串类型,并且TryCast
不会从字符串转换为扩展的 ie,即使输入的字符串可以很好地转换为 ieStrToFloat()
我怎样才能做到这一点?