Q&A

  • 스트림형식으로 저장,읽기에서 ??
LoadFromStream()과 SavetoStream()을 저에게 맞는 형식으로

재정의 하여 사용하고 있습니다. LoadFromStream()안에는 Read()로 읽고

SaveToStream()에서는 Write()로 저장합니다.



예를 들어 제가 어떤형식 Read()가 3가지, Write()가 3가지를 가지는 스트림들을 만들어 놓고 화일을

저장하고 읽습니다. 이때는 문제없이 잘 되지요..그런데 제가 스트림안에 Read(),Write()에 형식을

1가지를 더 추가 했을경우 이제는 4가지가 되겠조..



기존의 스트림 형식

---------------------------------------------------------

procedure TMyView.LoadFromStream(Stream: TStream);

begin

with Stream do

Read(x, 4); Read(y, 4); Read(dx, 4);

end;



procedure TMyView.SaveToStream(Stream: TStream);

begin

with Stream do

Write(x, 4); Write(y, 4); Write(dx, 4);

end;

------------------------------------------------------------



형식이 1가지 더 추가된 스트림

-------------------------------------------------------------

procedure TMyView.LoadFromStream(Stream: TStream);

begin

with Stream do

Read(x, 4); Read(y, 4); Read(dx, 4); Read(dy, 4);

end;



procedure TMyView.SaveToStream(Stream: TStream);

begin

with Stream do

Write(x, 4); Write(y, 4); Write(dx, 4); Write(dy, 4);

end;

---------------------------------------------------------------





이렇게 스트림 안에서 Read()와 Write()의 형식이 변경되었을 경우 기존에

화일로 만들어 저장한(즉, 형식이 3가지로 저장했던) 화일을 로드할 경우 에러가 발생합니다.

이렇게 형태가 다른 스트림으로 저장된 화일을 읽어올수 있는 방법이 없을까요?

고수님들의 답변을 기다리겠습니다..

0  COMMENTS