将TUnicodeStrings转换为TStrings?

时间:2015-03-09 14:26:27

标签: delphi delphi-xe7 unicode-string

在Delphi XE7中,我使用Anders Melander着名的DragAndDropSuite。此套件中的TDropFileTarget组件将删除的文件作为TUnicodeStrings返回。但是,我需要在具有TStrings参数的过程中使用这些文件:

procedure DoSomethingWithTheseFiles(const AFiles: TStrings);
begin
  // Do something...
end;

procedure DropFileTarget1Drop(Sender: TObject;
    ShiftState: TShiftState; APoint: TPoint; var Effect: Integer);
begin
  DoSomethingWithTheseFiles(DropFileTarget1.Files); // TUnicodeStrings
end;

因此,使用此代码,我收到错误E2010 Incompatible types: 'TStrings' and 'TUnicodeStrings'

那么如何将TUnicodeStrings转换为TStrings

1 个答案:

答案 0 :(得分:4)

TUnicodeStrings支持Assign()的{​​{1}}和AssignTo()方法。它知道如何从TPersistent对象复制字符串,例如:

TStrings

或者:

Strings.Assign(UnicodeStrings);

在你的情况下,它看起来像这样:

UnicodeStrings.AssignTo(Strings);