0
IMoniker moniker;
int hresult = NativeMethods.CreateFileMoniker(kFileName, out moniker);
IBindCtx pbc;
NativeMethods.CreateBindCtx(0, out pbc);
Object obj;
Guid guid = new Guid();
guid = typeof(GraphicsLibrary.IPolyline).GUID;
moniker.BindToObject(pbc, null, guid, out obj);
GraphicsLibrary.IPolyline pl = (GraphicsLibrary.IPolyline)obj;
GraphicsLibrary.PolylineObjClass o = (GraphicsLibrary.PolylineObjClass)pl;
foreach (GraphicsLibrary.PolyPoint ptt in o.Points)
{
Trace.WriteLine(String.Format("point ({0}, {1})", ptt.x, ptt.y));
}
return 0;
异常上GraphicsLibrary.PolylineObjClass o = (GraphicsLibrary.PolylineObjClass)pl;
详情:
类型的例外,则 '' 发生在 DotNetClient.exe但在用户代码中没有处理
但我已经实施了IProvideClas sInfo接口并且注册了typelib。
为什么我不能施放对象?
PS:完整的源代码,请参阅https://github.com/Jichao/comtut/tree/master/monikers/FileMoniker