Q&A

  • access vilolation 에러
procedure Tfrm_mchul.Button1Click(Sender: TObject);
begin
  sgrid1_hap;
  if data_count=0 then begin
     application.MessageBox('인쇄할 자료가 없읍니다..','입력확인',mb_ok);
     exit;
  end;
  application.CreateForm(Tqrfrm_chul31,qrfrm_chul31);
  qrfrm_chul31.Qrep1.Preview;
  qrfrm_chul31.Free;
end;

버튼을 클릭하면 인쇄할 내용을 미리보여주기 입니다.
잘돼는데 가끔 access violation at address  이런메세지가 나옵니다..
다시 리부팅하거나 하면 잘돼구요..

처음에는 windows 에서 잘못인줄 알았거든요 무식하게
내가 프로그램을 잘못짠 생각은 안하구요,,

어느부분을 봐야 이런 메세지를 안볼수 있을까요,,
2  COMMENTS
  • Profile
    일그니 2004.12.15 19:47
    음.
    일단은 예외처리를 권해드리고 싶습니다.

    실행중에 보기싫은 에러메세지를.. 차단해주거든여..

    sgrid1_hap;<------- 이부분이 아마도 그리드의 합을 구하시는것같은데.
    이부분에 에외처리해서 메세지 표출해주시고여.


    application.CreateForm(Tqrfrm_chul31,qrfrm_chul31);<--- 이부분부터
    qrfrm_chul31.Qrep1.Preview;
    qrfrm_chul31.Free;<--------- 여기까지 한그룹으로 예외처리해서
    메세지 표출해보세요.



  • Profile
    구창민 2004.12.15 03:17
    안녕하세요...

    이에러의 원인은 너무나 다양하구요..

    'access vilolation' 이 단어로 질답란을 검색해보세요..

    원인을 직접 작성하신 분만이 잡아 낼 수 있는 경우가 많답니다.

    주로 잘못된 주소를 접근해서 날 수 있는 경우가 많구요..

    한라인씩 디버깅 하셔서 조금씩 에러의 원인에

    근접해 가시는 수 밖에 없답니다..

    그럼 즐거운 프로그래밍 하세요~