Delphi в мире Юникода


         

Параметры с вариантными массивами


Если Ваш код использует TVarRec для работы с параметром - вариантным массивом - возможно, Вам придется отредактировать его для работы с UnicodeString. Для этого теперь есть новый тип vtUnicodeString, хранящий данные из UnicodeString. Рассмотрим следующий кусок из DesignIntf.pas, показывающий, в каком случае следует добавить новый код для работы с UnicodeString.  procedure RegisterPropertiesInCategory(const CategoryName: string;    const Filters: array of const); overload;  var    I: Integer;  begin    if Assigned(RegisterPropertyInCategoryProc) then      for I := Low(Filters) to High(Filters) do        with Filters[I] do          case vType of            vtPointer:              RegisterPropertyInCategoryProc(CategoryName, nil,                PTypeInfo(vPointer), );            vtClass:              RegisterPropertyInCategoryProc(CategoryName, vClass, nil, );            vtAnsiString:              RegisterPropertyInCategoryProc(CategoryName, nil, nil,                string(vAnsiString));            vtUnicodeString:              RegisterPropertyInCategoryProc(CategoryName, nil, nil,                string(vUnicodeString));          else            raise Exception.CreateResFmt(@sInvalidFilter, [I, vType]);          end;  end;



Содержание раздела