在delphi 2007中,一个字符表示一个字节,在delphi 2010中,一个字符表示二个字节,那么
我从07版本升级成2010版本,需不需要把所有的类型的都做以转换,还是只是注意一些特殊的类型,或者方法,
大家多多指点!

解决方案 »

  1.   

    看你原来怎么写的了,pchar改为pansichar,string改为pansistring
      

  2.   

        前辈的意思是:在delphi 2007中一个字符表示一个字节!在2010中还是按照原来的!例如:
     string---->pansistring;这样就不易出错,不过在项目中有大量的,难道都必须改?还是应该从一些特殊的方法或字段下手?多多指点
      

  3.   

    procedure TForm2.Button5Click(Sender: TObject);
    var
       ItemIDs : array [0..255] of PWideChar;
       ItemsNum: Integer;
        I      :Integer ;
    begin
      ItemsNum := 8;
      SetLength(ItemIDs,ItemsNum);
      for I := 0 to ItemsNum-1 do
      begin
        ItemIDs[I]   :=   PWideChar(WideString( 'Tag '+IntToStr(I+1)));此处出错
        ShowMessage(ItemIDs[I]);
      end;
    错误:[DCC Error] Unit2.pas(167): E2010 Incompatible types: 'Char' and 'PWideChar'
    高手指点一下!
      

  4.   

    procedure TForm2.Button5Click(Sender: TObject);
    var
       ItemIDs : array   of   PWideChar;
       ItemsNum: Integer;
        I      :Integer ;
    begin
      ItemsNum := 8;
      SetLength(ItemIDs,ItemsNum);
      for I := 0 to ItemsNum-1 do
      begin
        ItemIDs[I]   :=   PWideChar(WideString( 'Tag '+IntToStr(I+1)));
        ShowMessage(ItemIDs[I]);
      end;
    哈哈,自己解决了