Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface
- uses
- dialogs, math, dateutils, SysUtils, classes;
- type
- //double = extended;
- TDoubleDoubleArray = array of array of double;
- TSunPositionAlgorithm = class (TObject)
- private
- FLocationChanged: boolean;
- public
- Constructor Create;
- Destructor Destroy;
- procedure SetDefaults;
- end;
- Var
- SunPositionAlgorithm : TSunPositionAlgorithm;
- F_L0: Double;
- F_L1: TDoubleDoubleArray;
- implementation
- {TSunPositionAlgorithm }
- constructor TSunPositionAlgorithm.Create;
- begin
- SetDefaults;
- end;
- procedure TSunPositionAlgorithm.SetDefaults;
- Begin
- F_L0:= 1; // works ok
- FLocationChanged:=true; // throws eaccess violation error
- End;
- procedure TSun.NRELPositionOfSun(const DateTime: TDateTime; var Azimuth, Elevation, Declination: double);
- Var
- LSunPositionAlgorithm : TSunPositionAlgorithm;
- Begin
- LSunPositionAlgorithm := TSunPositionAlgorithm.Create;
- Try
- LSunPositionAlgorithm.SetDefaults;
- blah..
- Finally
- LSunPositionAlgorithm.Destroy;
- End;
- End;
- procedure Test;
- var
- spa: TSunPositionAlgorithm;
- begin
- spa := TSunPositionAlgorithm.Create;
- try
- spa.SetDefaults;
- finally
- spa.Free;
- end;
- end;
- procedure Test;
- var
- spa: TSunPositionAlgorithm;
- begin
- spa.SetDefaults;//oops, spa has not been initialised yet
- end;
- procedure Test;
- var
- spa: TSunPositionAlgorithm;
- begin
- spa.Create;//oops, spa has not been initialised yet
- end;
- destructor Destroy; override;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement