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) 2008 CodeGear(TM). All Rights Reserved.
|
What do you think about this topic? Send feedback!
|