全局对象在什么时候创建也是有讲究的,如果在调用之前尚未创建肯定会报错。
那么下面通过调用函数间接调用全局对象的方法就不会有任何问题了。
var FUserInfo: TUserInfo = nil;
function UserInfo: TUserInfo;begin if not Assigned(FUserInfo) then FUserInfo := TUserInfo.Create; Result := FUserInfo;end;