Q&A

  • 안나던 에러가..(writeln 사용시)
안녕하세요?

다음의 error 를 보신 분이 계시면 답변 주시면 감사하겠습니다.



var

textFile1 :textFile;

begin

.

.

.

AssignFile(textFile1);

reset(textFile1);

writeln(textFile1); //*



이렇게 하면 //* line 에서 error 가 발생합니다.

error 는 I/O error 로 EIOOUTEXCEPTION 입니다.이

원래 이 code 는 정상적으로 실행이 되던 code 였습니다.

그런데 갑자기 안되기 시작해서 저를 2틀 동안 고생시키고 있습니다.

참고로 이 code 는 dll 속에 있는 것이라 console application 을 만들수 없는

경우 입니다.

어떤 setting이 잘못되어 있는 것 같은데 혹시 아시나요?

1  COMMENTS
  • Profile
    노력하는이 1999.08.03 20:35
    조혜진 께서 말씀하시기를...

    > 안녕하세요?

    > 다음의 error 를 보신 분이 계시면 답변 주시면 감사하겠습니다.

    >

    > var

    > textFile1 :textFile;

    > begin

    > .

    > .

    > .

    > AssignFile(textFile1);

    > reset(textFile1);

    > writeln(textFile1); //*

    >

    > 이렇게 하면 //* line 에서 error 가 발생합니다.

    > error 는 I/O error 로 EIOOUTEXCEPTION 입니다.이

    > 원래 이 code 는 정상적으로 실행이 되던 code 였습니다.

    > 그런데 갑자기 안되기 시작해서 저를 2틀 동안 고생시키고 있습니다.

    > 참고로 이 code 는 dll 속에 있는 것이라 console application 을 만들수 없는

    > 경우 입니다.

    > 어떤 setting이 잘못되어 있는 것 같은데 혹시 아시나요?



    위의 소스만으론 정확한 원인을 알수없지만 EIOOUTEXCEPTION이 발생하였다면

    외부의 문제일 가능성이 크다고 생각됩니다. 특히 원래 되던 소스가 전혀 수정없이 안된다면 더욱 그렇죠... (저의경우는 항상 그랬습니다.)



    코드가 console application으로 작성되었더라도 writeln이 텍스트화일 핸들을

    포함하고 있으면 텍스트로 출력됩니다.

    먼저 확인해보세요.. 저장하려는 텍스트화일의 재생성이 가능한지 원래의 화일을 지워보시구요(안지워지는경우가 있음), 다음은 윈도우 스왑 화일에 의한 디스크 용량부족인지 점검하시구요, 디스크 물리적 에러일수도 있으므로 다른 컴퓨터에서 테스트를 해보세요. 마지막으로 AssignFile에서 제대로 핸들을 얻었는지 테스트 해보세요.

    그리고 텍스트화일에 관련된 컴파일 옵션은 없는것으로 알고있습니다.



    성공하시길....