|
현정환 님이 쓰신 글 :
: 이제 프로그램을 배우는 사람입니다..
:
: void __fastcall TForm1::PCFileListChange(TObject *Sender, TListItem *Item,
: TItemChange Change)
: {
: TFileStream *pfile;
:
: if (PCFileList->Selected) {
: AnsiString TheFileName, TheFilePath, FullFileName;
: int FileLen;
: TheFilePath = PCDirList->Directory;
: TheFileName = PCFileList->Selected->Caption;
: if (3 == TheFilePath.Length()){
: FullFileName = TheFilePath + TheFileName;
: }
: else {
: FullFileName = TheFilePath + "\\" + TheFileName;
: }
:
: pfile = new TFileStream(FullFileName, fmOpenRead);
: FileLen = pfile->Seek(0,soFromEnd);
: delete pfile;
:
: mmFileInfo->Lines->Text = "Path : " + PCDirList->Directory;
: mmFileInfo->Lines->Add("Name : " + PCFileList->Selected->Caption);
: mmFileInfo->Lines->Add("Size : " + IntToStr(FileLen));
:
:
: }
:
: }
:
: 프로그램을 이런식으로 짜 놓았는데 TFileStream 때문에 에러가 나는거 같거든요,.,
: 멀쩡히 잘 돌아가고 나서 프로그램을 닫으면
:
: "0x77f83941"에 있는 명령이 "0x00000010"의 메모리를 참조했습니다.
: 메모리는 "written" 될 수 없었습니다.
:
: 이런 오류 메세지가 뜹니다..
: 고수님들의 많은 애정과 관심 부탁 드립니다...
: 고맙습니다..
:
:
안녕하세요 만해 입니다.
요즘 시험 땜시
잘은 안 하지만 그래도 좀 공부를 해야 하길래 하고 있어서요 조금 바쁘네요~
제가 보기엔 다른건 별문제가 없는것 같은데
pFile->Seek(0,soFromBeginning);
이게 약간 걸리네요
그리고 FileSize라는 변수가 파일의 크기를 나타내고자 하는 거라면
pFile->Size 라는 프로퍼티를 가져 오시면 됩니다.
2기가 바이트 이상을 위해 Int64 형의 변수로 되어 있습니다.
참고만 하세요 그럼 이만~
|