Delphi 10.3 WinAPI.HSTRINGIterables.pasにはHSTRING変換のための関数とTIterableHSTRINGとTIteratorHSTRINGが入っています。中身はTList<HSTRING>なんですが、使えそうなら使ってみるのもいいかもしれません。この2つのクラスはインターフェイスも持っています。そのひとつのインターフェイスであるIIterable_1__HSTRINGは「Windows.Foundation.Collections.IIterable<HSTRING>」ということのようです。
procedure TForm1.Button3Click(Sender: TObject); var IterableHSTRING1: TIterableHSTRING; IterHSTRING1: IIterator_1__HSTRING; begin IterableHSTRING1 := TIterableHSTRING.Create; IterableHSTRING1.Add(CreateHSTRING('毛利')); IterableHSTRING1.Add(CreateHSTRING('Delphi')); IterHSTRING1 := IterableHSTRING1.First; repeat Memo1.Lines.Append(WindowsGetStringRawBuffer(IterHSTRING1.Current, nil)); until not IterHSTRING1.MoveNext; end;
WinAPI.HSTRINGIterables.pasには下記のようなHSTRING変換するための関数も用意されています。
function CreateHSTRING(const S: string): HSTRING; function CreateHSTRINGRef(var S: string): HSTRING; function HSTRINGToString(const hs: HSTRING): string; function HSTRINGIsNullOrEmpty(const hs: HSTRING): Boolean; procedure DeleteHSTRING(const hs: HSTRING);
Delphi 10.3 WinRTでRSSフィードを取得 : アンドロイドは電気Delphiの夢を見るか?