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

  • 相关阅读:
    cf round #421 div2 D. Mister B and PR Shifts
    cf round #421 div2 C. Mister B and Boring Game(trick)
    UVa 12716 GCD XOR
    cf 821E Okabe and El Psy Kongroo(矩阵快速幂)
    hdu 6109 数据分割(并查集+set)
    poj 2887 Big String(块状链表)
    hdu 6119 小小粉丝度度熊(区间双指针)
    hdu 6118 度度熊的交易计划(可行费用流)
    hdu 6015 Gameia(树上博弈)
    hdu 6096 String(AC自动机巧妙建图)
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2035704.html
Copyright © 2011-2022 走看看