You are attempting to reference a instance member from within a class procedure.
program Produce;
type
Base = class
Title : String;
class procedure Init;
end;
class procedure Base.Init;
begin
Self.Title := 'Does not work';
Title := 'Does not work';
end;
begin
end.Class procedures do not have an instance pointer, so they cannot access any methods or instance data of the class.
program Solve;
type
Base = class
Title : String;
class procedure Init;
end;
class procedure Base.Init;
begin
end;
begin
end.The only solution to this error is to not access any member data or methods from within a class method.
|
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
|
What do you think about this topic? Send feedback!
|