Q&A

  • 동적배열을 해제하기?
안녕하세요?
동적배열을 해제하기 위해서 다음과 같이 써주었는데요
실행할때 다음처럼 에러가 나서..

=========  에러 ==========
project raised exception class ElnvalidPointer with messae 'Invalid pointer operation'

========== 소스 ===========
for i := 0 to gvArraysu-1 do
   begin
      Dispose( gvaryPDB[i] ); // 포인터의 메모리 해제
   end;
      Setlength(gvaryPDB, 0); // 동적배열해제  <- 에러발생


gvaryPDB 라는게 전역변수구여 생성되고 쓰여지길 다른 폼(다른 유닛)에서
생성되었구요 프로그램을 종료할때 해제해주는데 이건 모두 다른폼에서
이루어지는거거든요
혹시 무슨 관련이라도 있는지해서요

Setlength(gvaryPDB, 0); // 동적배열해제  <- 에러발생
이부분이 없어도 비슷한 에러가 발생하더라구요
1  COMMENTS
  • Profile
    최용일 2002.09.25 01:29
    안녕하세요. 최용일입니다.

    흠~ 프로그램 내부에 뭔가 오류가 있는거 같네요...

    Dispose할때 인자로 들어가는 포인터가 잘못된 포인터라는 말인데...

    gvaryPDB[i]가 이상한데를 가리키고 있나보네요...

    디버깅해보시는게 젤 빠를겁니다...

    ^^ 항상 즐코하세요...