var
  property_name,property_value:string;begin
  property_name:='Caption';
  property_value:='如何赋值';
  //?如何写Form1.property_name:=property_value;
  //结果就是form1.caption:='如何赋值';
end;

解决方案 »

  1.   

    implementationuses typinfo;    //<----------注意
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      property_name,property_value:string;begin
      property_name:='Caption';
      property_value:='&Egrave;&ccedil;&ordm;&Icirc;&cedil;&sup3;&Ouml;&micro;';  try
        SetPropValue(Form1, property_name, property_value);
      except  end;end;
      

  2.   

    implementationuses typinfo;    //<----------注意
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      property_name,property_value:string;begin
      property_name:='Caption';
      property_value:='如何赋值';  try
        SetPropValue(Form1, property_name, property_value);
      except  end;end;
      

  3.   

    如果不用try的话,可以这样判断先:if IsPublishedProp(Form1, property_name) then
         SetPropValue(Form1, property_name, property_value);
      

  4.   

    建议你可以看一下<<Delphi 5 开发人员指南>>的关于组件编写的那几章,关于 typinfo和 RTTI
    讲的很详细。