김수정 님이 쓰신 글 :
: procedure TForm2.Button3Click(Sender: TObject);
: Var
: MemoryStream : TMemoryStream;
: ABuffer : TBytes;
: begin
// 여기가 잘못됨
MemoryStream := TMemoryStream.Create;
: // 잘못된 코드 ==> MemoryStream.Create;
: MemoryStream.LoadFromFile('E:\C_DRV\바탕화면\aaa.txt'); <============= 에러
: ReadTIdBytesFromStream(MemoryStream, ABuffer, MemoryStream.Size);
: MemoryStream.Clear;
: WriteTIdBytesToStream(MemoryStream, ABuffer, MemoryStream.Size, 0);
: MemoryStream.SaveToFile('E:\C_DRV\바탕화면\bbb.txt');
: MemoryStream.Free;
: end;
:
:
: 메모리스트림의 사용법을 알아보려고 테스트삼아 만들어본겁니다.
:
: 그냥 단순하게 파일을 MemoryStream으로 로드해서 ABuffer로 옮겼다가
: 다시 MemoryStream에 담았다가 파일로 저장하는 소스코드입니다.
:
: 컴파일을 하면 이상이 없는데 실행을 하면
: MemoryStream.LoadFromFile('E:\C_DRV\바탕화면\aaa.txt');
: 이 문장에서 "Access violation" 에러가 납니다.
:
: 뭐가 잘못됬는지 좀 봐주세요.
|