我正在使用Delphi编写的需要Stream的COM对象。
VS生成的接口请求“object”类型的参数
comReader.LoadFromStream(object stream)
当我使用FileStream或MemoryStream时,我得到一个“无效的参数”-exception。
如何为COM圆满填充流?
答案 0 :(得分:2)
我认为您应该为.Net Stream创建实现COM IStream
接口
见article(部分实施)
答案 1 :(得分:1)
修改我找到了这个有趣的答案: How do I declare an IStream in idl so visual studio maps it to s.w.interop.comtypes?
基本上你要做的是实现System.Runtime.InteropServices.ComTypes.IStream
或使用现有的实现类。
如果所有其他方法都失败您应该能够使用UnmanagedMemoryStream封送任意数据。 (MSDN page)