zoukankan      html  css  js  c++  java
  • .NET 对实现IPersistStream接口的对象进行保存和读取

    我们可以对实现IPersistStream接口的类的对象进行保存和读取,如Element,Map等等

    以下为应用IPersistStream接口保存当前视图(Map)至文件读取文件并在当前视图展示的代码

     

     

                //保存当前视图至文件

                IMemoryBlobStream pMemoryBlobStream = new MemoryBlobStreamClass();

           IObjectStream pObjectStream = new ObjectStreamClass();

                pObjectStream.Stream = pMemoryBlobStream;

                 IPersistStream pPersistStream = (IPersistStream)m_map;

                 pPersistStream.Save((IStream)pObjectStream, 0);

                 pMemoryBlobStream.SaveToFile(@"e:myfile.blb");

                //读取文件并在当前视图展现

                 IMemoryBlobStream pMemoryBlobStream = new MemoryBlobStreamClass();

                 pMemoryBlobStream.LoadFromFile(@"e:myfile.blb");

                 IObjectStream pObjectStream = new ObjectStreamClass();

                 pObjectStream.Stream=pMemoryBlobStream;

                 IPersistStream pPersistStream = (IPersistStream)m_map;

                 pPersistStream.Load((IStream)pObjectStream);

                 m_activeView.Refresh();

      要素写入Oracle的Blob字段

                if (LayerIndex == -1)
                {
                    Guid guid;
                    object obj2;
                    IPersistStream stream = (IPersistStream)Layer;
                    IMemoryBlobStream stream2 = new MemoryBlobStreamClass();
                    stream.GetClassID(out guid);
                    stream.Save(stream2, 1);
                    ((IMemoryBlobStreamVariant)stream2).ExportToVariant(out obj2);
                    byte[] buffer = (byte[])obj2;
                    sql = String.Format("{0}={1} and {2}={3}", TableHelper.FDLNodeId, NodeId, TableHelper.FDPrjId, nProjectId);
                    DBHelper.DataAccess.SaveBLOB(TableHelper.TBLayerNode, TableHelper.FDLNodeRender, sql, buffer);
                }
  • 相关阅读:
    《学习之道》第六章总结
    《学习之道》第六章一心多用
    《学习之道》第六章无视干扰
    《学习之道》第六章番茄工作法
    《学习之道》第六章关注过程,亦培养习惯
    《学习之道》第六章学习方法23与小恶魔较劲
    《学习之道》第六章习惯的部分-信念
    《学习之道》第六章习惯的部分-奖励机制
    《学习之道》第六章习惯的部分-反应程序
    使用Python验证常见的50个正则表达式
  • 原文地址:https://www.cnblogs.com/cglNet/p/12435247.html
Copyright © 2011-2022 走看看