解决方案 »

  1.   

    excel.ActiveSheet.Cells[1,2].Value:=UTF8Decode('张三');
      

  2.   

    var
      WS : WideString;
    begin
      WS := UTF8Decode('张三'); //这里下个断点
      excel.ActiveSheet.Cells[1,2].Value:=WS;
    这个机器没Lazarus,无法测试...而且我得版本似乎是0.9的那个
    看错误在哪行
      

  3.   

    Lazarus中默认字符串是UTF8,需要转换成WideString来进行某些Ole操作,
    说实话,Lazarus处理字符串的能力不如Delphi系列好,需要人工处理
      

  4.   

    感谢蓝色光芒的耐心解释,终于搞清楚原因了.
    UTF8Decode的返回值确实是UnicodeString,而不是WideString,以后只要强制转换下类型就可以了.
    lazarus在一些细节上还是有些不是很完美,但是就是想用下Lazarus数据库连接,因为要连接到postgresql数据库,delphi配置那个zeoslib半天也没有搞定.所以选择了lazarus.真是到处都碰壁啊.\
      我原来本来是用C#做的客户端的,现在因为部署的问题,所以要改为lazarus这样的.结果还是到处碰壁啊!!!再次感谢蓝色光芒的耐心解释.
      

  5.   

    delphi对utf8的支持显然没有lazarus 好