Uses typInfo;
var
i: integer;
pi: PPropInfo;
ex: TADOConnection; //示例类型
begin
for i := 0 to self.ComponentCount - 1 do
begin
pi := GetPropInfo(Components[i].ClassInfo, 'pName');
if pi <> nil then
begin
1:SetOrdProp(Components[i], pName, aValue); 有序类属性,如Left, Color
i: integer;
pi: PPropInfo;
ex: TADOConnection; //示例类型
begin
for i := 0 to self.ComponentCount - 1 do
begin
pi := GetPropInfo(Components[i].ClassInfo, 'pName');
if pi <> nil then
begin
1:SetOrdProp(Components[i], pName, aValue); 有序类属性,如Left, Color
2:SetEnumProp(Components[i], pName, aValue); 枚取类属性,如Ctl3D, BorderStyle
3:SetStrProp(Components[i], pName, aVaule); 字符串属性,如Caption, Text
4:SetFloatProp(Components[i], pName, aValue); 浮点类属性
5:if (pi^.PropType^.Kind = tkClass) and
(GetObjectPropClass(Components[i], pi) = TADOConnection) then
begin
ex := TADOConnection(GetObjectProp(Components[i], pi));
//赋值给ex
(GetObjectPropClass(Components[i], pi) = TADOConnection) then
begin
ex := TADOConnection(GetObjectProp(Components[i], pi));
//赋值给ex
end;
end;
end;
end;
end;
end;
end;