anchor.diff:  class operator CDuiString.Implicit(const AStr: string): CDuiString;
   var
     LLen: Integer;
  -  LBytes: TBytes;
  -begin
  -  LBytes := TEncoding.Unicode.GetBytes(AStr + #0);
  -  LLen := System.Length(LBytes);
  +begin
  +  Result.m_pstr := PChar(AStr);
  +  // ʵʱѡ
  +  LLen := System.Length(AStr);
     if LLen > MAX_LOCAL_STRING_LEN then
       LLen := MAX_LOCAL_STRING_LEN;
  -  Move(LBytes[0], Result.szStr[2], LLen);
  +  Move(Result.m_pstr^, Result.m_szBuffer[0], LLen * 2);
  +  Result.m_szBuffer[LLen] := #0;
   end;
   
   class operator CDuiString.Implicit(ADuiStr: CDuiString): string;
  
positive.code:   SysUtils;
  
  const
  {$IFDEF UNICODE}
    {$IFDEF DEBUG}
      DuiLibdll = 'DuiLib_ud.dll';
    {$ELSE}
  
negative.code: 
  function CDuiString.ToString: string;
  begin
    Result := m_pstr; //PChar(@m_szBuffer[0]);
  end;
  {$ELSE UseLowVer}
  function StringToDuiString(const AStr: string): CDuiString;
  var
    LLen: Integer;
  begin
    Result.m_pstr := PChar(AStr);
    // ʵʱѡ
    LLen := System.Length(AStr);
    if LLen > MAX_LOCAL_STRING_LEN then
      LLen := MAX_LOCAL_STRING_LEN;
    Move(Result.m_pstr^, Result.m_szBuffer[0], LLen);
    Result.m_szBuffer[LLen] := #0;
  end;
  
  function DuiStringToString(ADuiStr: CDuiString): string;
  begin
    Result := ADuiStr.m_pstr;
  end;
  
  {$ENDIF UseLowVer}
  