Ich würd's so machen:
Delphi-Quellcode:
IFileInfo =
interface(IInterface)
['
{C7... ']
// GUID nicht vergessen
function Name: WideString;
function Size: Integer;
end;
IFileInfoList =
interface(IInterface)
['
{C7... ']
// GUID nicht vergessen
function Get_Count:integer;
function Get_Item(idx:integer):IFileInfo;
property Count:integer
read Get_Count;
property Item[idx:integer]
read Get_Item;
end;
Als Ersatz für Array of Widestring würde ich das Interface
IStrings (aus
Unit StdVCL) verwenden.
Mit der Funktion GetOleStrings() kannst du aus einem TString-Objekt ein IStrings-Objekt erzeugen.