Q&A

  • 프로그램 수행후 에러 메세지가 나옵니다.


컴파일후 디버그 에서는



Project barcode.exe raised exception class EAccessViolation with message 'Access violation at address 101B0003. Read of address 101B0003'. Process stopped. Use Step or Run to continu2.





실행시는

'Access violation at address 101B0003. Read of address 101B0003'



이런 에러 메세지가 나옵니다.

델파이 5.0 엔터프라이즈 버젼입니다.



프로그램은 데이타 베이스에서 자료를 읽어와서 바코드 프린터 (제브라)로 출력하는 프로그램 입니다.



데이터를 읽어오고 출력하고 업데이트 하는데까지 아무런 에러가 발생하지 않습니다.



다 끝나고 나서 서브루틴을 호출한 프로시져로 제어가 복귀하면서 에러가 발생합니다.

에러메세지후 OK 버튼을 누른후에 동작하면 아무 이상없이 프로그램은 실행되고요.



프로그램이 이상이 없어도 메세지가 나오니 께림직 하네요.

혹시 해결방법 아시는분 있으시면 답변 답랍니다.



참.. 5.0 엔터프라이즈 그냥 사고 아직 패치등은 받지 않았습니다.

관련이 있을까요?



처음에는 별 문제 없이 잘 수행됐었는데.. 지금은 자꾸 이런 메세지가 나와서 ..



도와주시가 바랍니다.



2  COMMENTS
  • Profile
    김원식 2000.07.13 02:28
    발생하는 장애의 99.99%는 개발자의 실수 입니다.



    EAccessViolation 는 객체나 변수의 메모리가 확보되지 않았거나



    부적절한 메모리 영역을 참조하려는 경우인 것을 아실거예요.



    Trace하면서 잘 찾아보세요



    도움이 안되어 죄송합니다.









    박훈철 wrote:

    >

    > 컴파일후 디버그 에서는

    >

    > Project barcode.exe raised exception class EAccessViolation with message 'Access violation at address 101B0003. Read of address 101B0003'. Process stopped. Use Step or Run to continu2.

    >

    >

    > 실행시는

    > 'Access violation at address 101B0003. Read of address 101B0003'

    >

    > 이런 에러 메세지가 나옵니다.

    > 델파이 5.0 엔터프라이즈 버젼입니다.

    >

    > 프로그램은 데이타 베이스에서 자료를 읽어와서 바코드 프린터 (제브라)로 출력하는 프로그램 입니다.

    >

    > 데이터를 읽어오고 출력하고 업데이트 하는데까지 아무런 에러가 발생하지 않습니다.

    >

    > 다 끝나고 나서 서브루틴을 호출한 프로시져로 제어가 복귀하면서 에러가 발생합니다.

    > 에러메세지후 OK 버튼을 누른후에 동작하면 아무 이상없이 프로그램은 실행되고요.

    >

    > 프로그램이 이상이 없어도 메세지가 나오니 께림직 하네요.

    > 혹시 해결방법 아시는분 있으시면 답변 답랍니다.

    >

    > 참.. 5.0 엔터프라이즈 그냥 사고 아직 패치등은 받지 않았습니다.

    > 관련이 있을까요?

    >

    > 처음에는 별 문제 없이 잘 수행됐었는데.. 지금은 자꾸 이런 메세지가 나와서 ..

    >

    > 도와주시가 바랍니다.

    >

  • Profile
    박훈철 2000.07.13 18:57


    답변 감사 드립니다.

    근데 메모리가 확보되지 않거나 부적절한 메모리 참조라면..

    문제가 되는 부분에서 중단이 되어야 할텐데...

    문제는 다 끝난 다음에 에러가 난다는 것입니다.

    모든 기능을 수행하고 호출한 프로시져로 복귀하고나서 말입니다.



    사용한 객체라고 해봐야.. 평범한 Tquery 랑...

    몇몇 버튼..

    출력은 LPT1을 직접 통신하는 방식을 택했고요..



    아무런 코드도 없고 덜렁 end; 이부분에서 에러가 나니..

    (다른 코드를 삽입하면 삽입한 부분에서..)..

    흠.. 수행후에 메모리를 다 반환하거나 초기화 해버려야 하는 것인가요?







    김원식 wrote:

    > 발생하는 장애의 99.99%는 개발자의 실수 입니다.

    >

    > EAccessViolation 는 객체나 변수의 메모리가 확보되지 않았거나

    >

    > 부적절한 메모리 영역을 참조하려는 경우인 것을 아실거예요.

    >

    > Trace하면서 잘 찾아보세요

    >

    > 도움이 안되어 죄송합니다.

    >

    >

    >

    >

    > 박훈철 wrote:

    > >

    > > 컴파일후 디버그 에서는

    > >

    > > Project barcode.exe raised exception class EAccessViolation with message 'Access violation at address 101B0003. Read of address 101B0003'. Process stopped. Use Step or Run to continu2.

    > >

    > >

    > > 실행시는

    > > 'Access violation at address 101B0003. Read of address 101B0003'

    > >

    > > 이런 에러 메세지가 나옵니다.

    > > 델파이 5.0 엔터프라이즈 버젼입니다.

    > >

    > > 프로그램은 데이타 베이스에서 자료를 읽어와서 바코드 프린터 (제브라)로 출력하는 프로그램 입니다.

    > >

    > > 데이터를 읽어오고 출력하고 업데이트 하는데까지 아무런 에러가 발생하지 않습니다.

    > >

    > > 다 끝나고 나서 서브루틴을 호출한 프로시져로 제어가 복귀하면서 에러가 발생합니다.

    > > 에러메세지후 OK 버튼을 누른후에 동작하면 아무 이상없이 프로그램은 실행되고요.

    > >

    > > 프로그램이 이상이 없어도 메세지가 나오니 께림직 하네요.

    > > 혹시 해결방법 아시는분 있으시면 답변 답랍니다.

    > >

    > > 참.. 5.0 엔터프라이즈 그냥 사고 아직 패치등은 받지 않았습니다.

    > > 관련이 있을까요?

    > >

    > > 처음에는 별 문제 없이 잘 수행됐었는데.. 지금은 자꾸 이런 메세지가 나와서 ..

    > >

    > > 도와주시가 바랍니다.

    > >