Eine Zugriffsverletzung wird nur ausgelöst, wenn die Methode "someInteger" virtuell ist oder innerhalb der Methode auf "Self" zugegriffen wird.
Delphi-Quellcode:
TMyObject = class(TObject)
private
FInt2: Integer;
public
function someInteger1: Integer;
function someInteger2: Integer;
function someInteger3: Integer; virtual;
end;
implementation
function TMyObject.someInteger1: Integer;
begin
Result := 1;
end;
function TMyObject.someInteger2: Integer;
begin
Result := FInt2; { Self.FInt2 }
end;
function TMyObject.someInteger3: Integer;
begin
Result := 3;
end;
var
MyObject: TMyObject;
v: Integer;
begin
MyObject := nil;
v := MyObject.someInteger1;
v := MyObject.someInteger2; {hier Zugriffsverletzung Self.FInt2}
v := MyObject.someInteger3; {hier Zugriffsverletzung Self.ClassType.Methode}
end;