============================================================================
yízIuWFNg̃Xg[ۑNX
yɖ́zVObjStream104.lzh
y׽ zObjStreamV
yVersion z1.04
yҖzVRAM̖pt
yzDOS/V@ + Delphi5.0
yzDelphi56̂݊mF
============================================================================

yTvz

AvP[V̐ݒȂǂۑƂA݂Ȃ͂ǂĂ܂H
ł܂ۑۑNXTComponenth

type
  TMySave = class(TComponent)
  private
    { Private 錾 }
    FValueInt: Integer;
  public
    { Public 錾 }
  published
    property ValueInt : Integer read FValueInt write FValueInt;
  end;

ƂėpӂĂ܂B

    MySave : TMySave;

Ƃӂɒ`

    MySave.ValueInt := 256;

ƂŎg܂B

ݒTStreamhĂTMemoryStreamȂǂg

var
  e : TMemoryStream;
begin
  e := TMemoryStream.Create;
  try
    e.WriteComponent(MySave);
    e.SaveToFile('save.dat');
  finally
    e.Free;
  end;

Ƃƃt@Cɕۑ邱Ƃł܂ǂݍނƂ

var
  e : TMemoryStream;
begin
  e := TMemoryStream.Create;
  try
    e.LoadFromFile('save.dat');
    e.ReadComponent(MySave);
  finally
    e.Free;
  end;

Ƃƕۑf[^𕜌邱Ƃł܂B

̕@gppublishedɕۑϐLq邾
ۑł̂Ŕɕ֗łˁB

̕@͔ɑ傫Ȏ_܂B
͈xf[^ۑt@CǂݍނƂ
publeshedo[ɋLqϐςA肵Ă
ȂȂƂƂłBi₷͖̂Ȃj

ϐς肵ƃt@CǂݍƂ
G[ôłAReadComponent͂ȂƂœǂݍ݂
~Ă܂̂łB

ł͐ݒf[^̈ꕔo[WAbvɂsvɂȂꍇ
ϐ̃XyԈႦƂɁAsւłB

ׂ쐬̂ TObjStreamV NXłB
L̗Ă݂܂B

܂͏݂łB

var
  e : TMemoryStream;
  d : TObjStreamV;    // ǉ
begin
  d := TObjStreamV.Create;        // ǉ
  e := TMemoryStream.Create;
  try
    //e.WriteComponent(MySave);   // ̕@
    d.WriteComponent(MySave,e);   // V@
    e.SaveToFile('save.dat');
  finally
    e.Free;
    d.Free;                       // ǉ
  end;

͓ǂݍ݂łB

var
  e : TMemoryStream;
  d : TObjStreamV;                // ǉ
begin
  e := TMemoryStream.Create;
  d := TObjStreamV.Create;        // ǉ
  try
    e.LoadFromFile('test.bin');
    //e.ReadComponent(MySave);    // ̕@
    d.ReadComponent(MySave,e);  // V@
  finally
    d.Free;                       // ǉ
    e.Free;
  end;

œǂݍݎɔG[邱Ƃł܂B

TObjStreamVWriteComponentŃXg[ɏo͂`TStream
WriteComponentɏĂ܂̂ōg̐ݒt@Ĉ܂܂
芷邱Ƃ\łB

TStreamƂ̈Ⴂ͈ȉ̒ʂłB

EWriteConponentŏ߂NXTConponenthȂĂ
  TPersistentł悢
EDelphi6 String^WriteComponentŕۑ UTF-8gp邪
   Shift-JISgp
  iReadComponent́AUTF-8,Shift-JISAǂ炪gĂĂ͂Ȃj
  Iɂ͑I\ɂȂƎv
EǂݍݎANX͍̐sȂ
Epublishedɐ錾ꂽTComponentNXۑ邱Ƃ\

yvpeB[̐z------------------------------------------------------

  property ComponentSaved : Boolean;
  
    publishedɐ錾ꂽTComponentNXۑꍇTrueɂ܂B
    WriteComponentsOɑĂKv܂B

y\bh̐z----------------------------------------------------------

  function ReadComponent(Sender : TObject;ReadStream : TStream) : Boolean;
  
    NXpubleshedo[Xg[ǂݍ݂܂B
    ̂Ƃ߂l͕KTrueԂ܂B
  
  function WriteComponent(Sender : TObject;WriteStream : TStream) : Boolean;

    NXpubleshedo[Xg[ɏ݂܂B
    ̂Ƃ߂l͕KTrueԂ܂B


yƂz----------------------------------------------------------------

@ō쐬ĂAvP[Vo[WAbv̎Aϐ폜
ŃG[ɂȂ̂sւƂv̂Ŋ悵̂̊Ԉ
ƎvĂ܂Bŏ̓G[𔭐TReaderpoverride
΂ł邾낤ƎvĂ̂ԈႢŌǂقƂǂׂĎɂȂĂ
܂܂BȂƎg₷ĂȂ̂ł傤H

@̃\[XĂ炦΂킩ƂHȂ̗ʂ܂BTReader
TWriter̂܂܎gΔɏȗł̂łǂŃG[
sւȂ̂łč܂B

@AJĂ݂ƁuxIvƌĂ܂܂BȂȂݒ
ǂݍ݂͏ɃAvP[V̋NԂɒڊւĂ邱ƂقƂǂł
߂łBőSč蒼A^ǂݍ݂Ȃli[ĂA
Ɋ֐̎gpȂ܂B

Ȃɂ̎QlɂȂ΍KłB

yӎz----------------------------------------------------------------

Delphi6p̌^邽߃RpCo[W`FbNsĂ܂B
ȑO͊eo[WƂ̃`FbNsĂ܂ADelphi5Ƃȍ~
rΏ\ȂߊȒPȔr݂̂ɂĂ܂B
܂Iɕϐ̌^ꍇɂ͏CKvɂȂ܂B

yzzȂǁz------------------------------------------------------------

̃NX̎gp@ɂ͓ɐ͂܂B
VFAEGA^t[\tgނ킸gݍŒĂ܂܂B
܂AvP[Ṽ\[XJĂꍇÃ\[Xtč\܂
ɕsȂǂgpґŉςꍇł̉ό̃\[Xzz
Ė͂܂B
\łΎ̖OڂĂΌhłB

yQlЁz----------------------------------------------------------------

Inside Delphi
C}KWiVCL̐Vj
Delphi}KW

yz--------------------------------------------------------------------

Ver1.04
  R|[lgɎqR|[lg悹̂̕ۑ^ǂݍ݂C

Ver1.03
  string^256ȏ̂Ƃ̕sC
  W^ɕۑȂۂC
  KwꂽNXۑł悤Ɋg

Ver1.02

  Delphi6ȍ~gpɃnbVɂ菈
  Delphi5gp͓Ǝ̃nbV֐ɂ荂

Ver1.01

  ꕔۑAǍȂ^̂C

Ver1.00

  Â߃\[XP蒼

Ver0.22iJj

  Delphi6Œǉꂽ^ɎbΉ

Ver0.21ivg^Cv̍ŏIłłj

  TPersistentNXۑłȂoOC

Ver0.20 

  lbgɌJ
  Ǝ`͕]WriteComponentɕύX

Ver0.10

  NX̓Ǎ^ۑƎ`ō쐬

yT|[gz----------------------------------------------------------------

VRAM̖ptHomePage:http://homepage1.nifty.com/vram/
