안녕하세요?
동적배열을 해제하기 위해서 다음과 같이 써주었는데요
실행할때 다음처럼 에러가 나서..
========= 에러 ==========
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); // 동적배열해제 <- 에러발생
이부분이 없어도 비슷한 에러가 발생하더라구요
흠~ 프로그램 내부에 뭔가 오류가 있는거 같네요...
Dispose할때 인자로 들어가는 포인터가 잘못된 포인터라는 말인데...
gvaryPDB[i]가 이상한데를 가리키고 있나보네요...
디버깅해보시는게 젤 빠를겁니다...
^^ 항상 즐코하세요...