我有一个静态属性日历的问题。
type
TDateTime = class(TObject)
private
class var fcalendar: TCalendar;
class procedure SetCalendar(const Value: TCalendar);
public
class property Calendar: TCalendar read fcalendar write SetCalendar;
end;
implementation
class procedure TDateTime.SetCalendar(const Value: TCalendar);
begin
if Value <> nil then
begin
TDateTime.fcalendar := Value;
end;
end;
错误发生在第7行
E2355类属性访问器必须是类字段或类静态方法
问题出在setter上,错误消息解释了您需要如何修复它:将其标记为静态。这确实意味着你不能使用虚类方法作为访问器,但你并没有这样做,所以这应该不是一个问题。
class procedure SetCalendar(const Value: TCalendar); static;