procedure TForm1,Button1Click(sender:TObject)
var 
  ws_1:widestring;
  ws_tmp_1,ws_tmp_2:widestring;
begin
  ws_1:='天气';  ws_tmp_1:='';
  ws_tmp_2:='';  ws_1:=ws_tmp_1 + ws_tmp_2;
  edit1.text:=ws_1;
end;为什么edit1的内容显示'天气',而不是空?谢谢!!!

解决方案 »

  1.   

    这只是一个简化的问题,现实是我要用到widestring,widestring可以用'+'操作符的。
    试试
    procedure TForm1,Button1Click(sender:TObject)
    var 
      ws_1:widestring;
      ws_tmp_1,ws_tmp_2:widestring;
    begin
      ws_1:='天气';  ws_tmp_1:='';
      ws_tmp_2:='';  ws_1:=ws_tmp_1 + ws_tmp_2+'1';
      edit1.text:=ws_1;
    end;谢谢!!!
      

  2.   

    好象是 Delphi 的问题了!可以看它的 CPU 窗口,当相加的两个字符串的长度都是 0 时,它竟然就返回了!
      

  3.   

    把''改成' '就可以了
    procedure TForm1.Button1Click(Sender: TObject);
    var
      ws_1:widestring;
      ws_tmp_1,ws_tmp_2:widestring;
    begin
      ws_1:='天气';  ws_tmp_1:=' ';
      ws_tmp_2:=' ';  ws_1:=ws_tmp_1 + ws_tmp_2;
      Edit1.text:=ws_1;
    end;