J'utilise un assembly .Net2.0 dans Delphi 6 via COM. L'une des méthodes de l'une des interfaces renvoie IEnumerable. Tant que j'importation mscorlib.tlb situé dansIEnumerable.GetEnumerator() renvoie IEnumVariant dans Delphi 6
"C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727"
, je peux atteindre les deux interfaces IEnumerable et IEnumerator dans Delphi 6. Voici la partie où IEnumerable est défini dans 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;
la valeur de retour de la méthode GetEnumerator est pas IEnumerator et lorsque je tente de le jeter à IEnumerator « Interface pas pris en charge » exception est levée.
Est-ce que quelqu'un a déjà rencontré ce problème ou un problème similaire? Comment peut-il être résolu?