zoukankan      html  css  js  c++  java
  • 对象持久化

     

    网上查了下,貌似WriteComponentResFile,ReadComponentResFile可以,但是必须是一个TComponet的对象,我要串行化一个OleVariant的对象,大大们,怎么做?

    要持久对象,必须继承TPersistent....

    function   ComponentToStr(AComponent:   TComponent):   string;   
      var   
          BinStream:   TMemoryStream;   
          StrStream:   TStringStream;   
          s:   string;   
      begin   
          BinStream   :=   TMemoryStream.Create;   
          try   
              StrStream   :=   TStringStream.Create(s);   
              try   
                  BinStream.WriteComponent(AComponent);   
                  BinStream.Seek(0,   soFromBeginning);   
                  ObjectBinaryToText(BinStream,   StrStream);   
                  StrStream.Seek(0,   soFromBeginning);   
                  Result   :=   StrStream.DataString;   
              finally   
                  StrStream.Free;   
              end;   
          finally   
              BinStream.Free   
          end;   
      end;   
        
      function   StrToComponent(const   Value:   string;   
          Instance:   TComponent):   TComponent;   
      var   
          StrStream:   TStringStream;   
          BinStream:   TMemoryStream;   
      begin   
          StrStream   :=   TStringStream.Create(Value);   
          try   
              BinStream   :=   TMemoryStream.Create;   
              try   
                  ObjectTextToBinary(StrStream,   BinStream);   
                  BinStream.Seek(0,   soFromBeginning);   
                  Result   :=   BinStream.ReadComponent(Instance);   
              finally   
                  BinStream.Free;   
              end;   
          finally   
              StrStream.Free;   
          end;   
      end;

     

    使用之前注册以下:   
          RegisterClasses

  • 相关阅读:
    NSCoding相关
    object c 运行时编程指南
    iphone 框架体系结构
    Object c 反射
    hook qq 聊天内容(转)
    iphone地址本操作
    通过xib文件创建子控件(转)
    iphone生成唯一字符串
    反射手册笔记 6.NET组件模型
    IDC项目技术总结
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2035704.html
Copyright © 2011-2022 走看看