che*_*sen 1 delphi variables class delphi-units data-structures
在我的程序的Unit2中,我有以下代码:
TValue = Record
NewValue,
OldValue,
SavedValue : Double;
end;
TData = Class(TObject)
Public
EconomicGrowth : TValue;
Inflation : TValue;
Unemployment : TValue;
CurrentAccountPosition : TValue;
AggregateSupply : TValue;
AggregateDemand : TValue;
ADGovernmentSpending : TValue;
ADConsumption : TValue;
ADInvestment : TValue;
ADNetExports : TValue;
OverallTaxation : TValue;
GovernmentSpending : TValue;
InterestRates : TValue;
IncomeTax : TValue;
Benefits : TValue;
TrainingEducationSpending : TValue;
End;
Run Code Online (Sandbox Code Playgroud)
然后我在Var中声明Data:TData.
当我尝试在Unit1中执行以下操作时:
ShowMessage(FloatToStr(Unit2.Data.Inflation.SavedValue));
Run Code Online (Sandbox Code Playgroud)
我收到一条EAccessViolation消息.有没有办法从Unit1访问存储在'Data'中的数据而不会出错?
添加Data := TData.Create;到Unit2的initialization部分,或将TData更改为记录而不是对象.只要它们被正确初始化,从Unit1访问Unit2的全局对象没有任何固有的错误.