Q&A

  • open dialog를 사용시 에러가 납니다.
다른 폴더에 있는 파일을 사용하기 위해 OpenDialog를 이용했습니다.
그런데 문제는 열어볼 파일을 선택하지 않고 '취소'버튼을 클릭했을 경우
에러가 납니다.
에러코드는 'Access violation at address 004ED12E in Module 'PRJCMS.EXE. Read do address FFFFFFFF'입니다.
파일을 열어본 것도 아니고 그냥 취소버튼을 클릭했는데도 에러가 나는게
이상해서 이렇게 글을 올립니다.

   OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);
   IF  OpenDialog1.Execute Then
   Begin
       sPath           := ExtractFilePath(OpenDialog1.FileName);
       sFile           := ExtractFileName(OpenDialog1.FileName);
       sFileName       := sPath + sFile;
       Memo1.Lines.LoadFromFile(sFileName);
       Gauge1.MaxValue := Memo1.Lines.Count-1;
   이하생략....
   이분까지가 실제로 open Dialog를 사용하는 부분입니다.
3  COMMENTS
  • Profile
    이중철 2003.12.09 03:28
       OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);
       IF  OpenDialog1.Execute Then
       Begin
           sPath           := ExtractFilePath(OpenDialog1.FileName);
           sFile           := ExtractFileName(OpenDialog1.FileName);
           sFileName       := sPath + sFile;
           Memo1.Lines.LoadFromFile(sFileName);
           Gauge1.MaxValue := Memo1.Lines.Count-1;
           ....
       end;
       .....  <- 이부문이 에서 에러가 났을꺼에요
            
       취소버튼 누르시면 Begin ... End 문은 타지 않아요..



  • Profile
    김정모 2003.12.09 21:33
    제가 자세하게 설명을 안 드렸군요...
    현재 open dialog콤포넌트가 사용되는 폼은 MDIChild폼입니다.
    원래 각각의 프로그램을 제가 하나의 통합 프로그램으로 만드는 중인데 원래의
    폼은 미디찰드폼이 아닙니다.
    그러나 통합을 하다보니 이 폼이 미디찰드폼이 되었는데 원본 프로그램을 실행시켜보면 아무 이상이 없습니다.
    그러나 이 폼의 formstyle을 mdichild로 바꾸어 실행시켜보면 아래의 에러가 나타납니다.
    원본소스로 실행시켜보면 아무런 이상이 없으니 소스의 에러보단 formstyle의
    변화로 인한 에러같은데,,,,


  • Profile
    nilriri™ 2003.12.10 02:41
    샬롬~

    또 소스를 생략해서 올리셨네요...ㅡㅡ;

    님이 지적하신 대로 그곳에서 에러가 났다면..

    그 부분 소스도 함께 있어야 왜 그게 에러인지 봐드릴 수가 있을거 같은데요..

           begin
              exit;
           end;

    로 바꿔도 에러가 나나요?

    그럼..