![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
uses TypInfo;
function TForm1.SetControlProp(ComStr, value: string): boolean;
var ComName, ComProp: string;
i: integer;
Loop: Integer;
PropInfo: PPropInfo;
cp: TComponent;
begin
i := Pos('.', ComStr);
if i > 0 then
begin
ComName := copy(ComStr, 1, i-1);
ComProp := Copy(Comstr, i+1, 1000);
cp := FindComponent(ComName);
PropInfo := GetPropInfo(cp.ClassInfo, ComProp);
if Assigned(PropInfo) then
SetStrProp(cp, PropInfo, value);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
SetControlProp('button1.caption', 'test'); //設置button1的caption 為 test
end;