Project eBiz.exe raised exception class
EAccessViolation with message 'Access violation
at address 00000009. Write of address 706E51CA'.
Process stopped. User Step or Run to continue.
가령 TMyClass 타입이 있다고 하면,
var
tempRef :TMyClass;
begin
tempRef := TMyClass.Create();
tempRef.DoSomeMethod; OK, memory 접근 가능
tempRef.SomeProperty := XXX; OK, memory 접근 가능
tempRef.Free;
tempRef.DoSomeMethod; <-- pointer 값만 있고 해당 메모리 없음
tempRef.SomeProperty := XXX; <-- pointer 값만 있고 해당 메모리 없음
tempRef := Pointer(9);
tempRef.DoSomeMethod; <-- 요기 invalid pointer
tempRef.SomeProperty := XXX; <-- 요기 invalid pointer
end;
Project eBiz.exe raised exception class EAccessViolation with message 'Access violation at address 00000009. Write of address 706E51CA'. Process stopped. User Step or Run to continue. 위와 같은 오류가 발생합니다. 무슨 말...
고지범
•
2002.08.17 02:12
메모리 포인터의 값이 이상해서 접근 불가로 나오는 듯 하네요...
가령 TMyClass 타입이 있다고 하면,
...
김요한
•
2002.08.17 01:48
'Access violation'의 오류메세지는 File(다른 리소스일수도...)에
대한 접근 충돌이 대부분이지요.
...
가령 TMyClass 타입이 있다고 하면,
var
tempRef :TMyClass;
begin
tempRef := TMyClass.Create();
tempRef.DoSomeMethod; OK, memory 접근 가능
tempRef.SomeProperty := XXX; OK, memory 접근 가능
tempRef.Free;
tempRef.DoSomeMethod; <-- pointer 값만 있고 해당 메모리 없음
tempRef.SomeProperty := XXX; <-- pointer 값만 있고 해당 메모리 없음
tempRef := Pointer(9);
tempRef.DoSomeMethod; <-- 요기 invalid pointer
tempRef.SomeProperty := XXX; <-- 요기 invalid pointer
end;
객체 생성 및 파괴 부분을 중점적으로 살펴보시는 것이 좋을 듯합니다