Q&A

  • Delphi에서의 Object 저장은 어떻게 하나요?
한마디로.......



visual C++ 에서는 Doc클래스에서 Serialize라는 함수를 써서 자장 하고 싶은

객체를 파일에 저장하거덩요......

java에서도 비슷하게 쉽게 저장할 수 있습니다.



델파이에서는 어케 저장을 할 수 있는지 모르겠군요.....



즉....TObject에서 상속받은 사용자 정의 클래스를 파일에 저장할 수 있는 방법을 좀 갈켜주십시요.....please....ㅠㅠ

2  COMMENTS
  • Profile
    김일영 2000.11.29 06:25
    범위가 큰 문제라서 한마디로 뭐라 말씀드릴 수는 없군요.

    일단 CArchive(철자 맞나?)에 해당하는게 Stream이라 할 수 있고요.

    TStream으로부터 TFileStream, TBlobStream등이 상속받아 나옵니다.

    이 Stream에다가 Object를 읽고 쓰는 것이 TReader, TWriter입니다.

    Stream, Reader, Writer에 대해서 헬프를 찾아 보시라는 말씀밖에

    간단히 말씀드릴수는 없군요.

    헬프에 예제가 별로 없긴 하나, TReader와 TWriter의 선조 클래스인

    TFiler를 찾아보시면 Example이 하나 있습니다.

    그것을 보시면 좀 도움이 많이 되실 것 같습니다.

    굉장히 어려운 것처럼 나와 있지만, 일단 한번 해보고 나면 Visual C++에서보다

    훨씬 편하고 자유롭게 쓸 수 있게 되어 있습니다.

    수고하세요.

  • Profile
    끼룩 2000.11.30 03:15
    답변...잘....봤습니다.

    님의 조언에 따라 헬프를 찾아봤거든요...

    근데...예제라든지 하는 건 부분(Component, char, integer, string등등)의 특정 객체

    들만 파일에 쓰는 것이 가능하더군요....

    결국 전 TObject 또는 사용자정의 클래스를 read/write 하는게 문제인데.....

    님의 조언으로 헬프를 유심히 참고 했지만....ㅠㅠ

    글구....CArchieve이 델파이에서 TStream이랑 비슷하다고 말씀하셨잖아요...근데 님두 아시다시피 Visual C++에서는 Document클래스에 Serialize함수에 인자로 넘어오잖아요..그래서 그 인자로 넘어온 CArchieve에 읽고, 쓰면 되거덩요...근데 당장 델파이에선 프레임에 CurrentFile이라는 String맴버변수만 달랑 있고....글구...."열기/저장"의 대화상자를 보니깐 인자로 Sender가 넘어오던데 이 Sender가 몬지 잘 모르겠네용..쓸만 하니깐 인자로 넘어오는 것 같은데....ㅠㅠ

    다시한번 부탁드립니다......