Я использую сборку .Net2.0 в Delphi 6 через COM.
Один из методов в одном из интерфейсов возвращает IEnumerable.
Пока я импортирую файл mscorlib.tlb, расположенный в
"C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727"
, я могу получить доступ к интерфейсам IEnumerable и IEnumerator в Delphi 6. Вот часть, где IEnumerable определен в mscorlib_TLB.pas:
// *********************************************************************//
// Interface: IEnumerable
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {496B0ABE-CDEE-11D3-88E8-00902754C43A}
// *********************************************************************//
IEnumerable = interface(IDispatch)
['{496B0ABE-CDEE-11D3-88E8-00902754C43A}']
function GetEnumerator: IEnumVARIANT; safecall;
end;
Возвращаемое значение метода GetEnumerator не IEnumerator, и когда я пытаюсь привести его к IEnumerator, выдается исключение «Интерфейс не поддерживается».
Кто-нибудь сталкивался с такой или подобной проблемой раньше? Как это можно решить?