I have a small project in XE7, which is newish to me, where I have to get rid of an Access Violation error on exiting the application. From the error log, I know something is amiss vis-a-vis the arrays I'm trying to clean up.
I have one global constant static arrays of strings, two global static arrays of extended and two global static arrays of strings.
I have tried to use the setLength method for the cleaning up of the arrays, the finalize method, freeAndNil, free and setting the arrays to nil. My attempts sometimes survive compiling, sometimes don't. Researching the issue on the internet seems mostly to focus on dynamic array clearing. Not much about static arrays and not a solution that I could find. I've tried placing the clearing attempts in OnCloseQuery and disastrously in OnClose. At this point, I'm stumped.
Is there a definitive way to do this? GM
My creation code in the main form looks like this:
var
...
ar1: Array [1..100] of string;
ar1Total: Array [1..100] of extended;
ar2: Array [1..100] of string;
ar2Total: Array [1..100] of extended;
const
TonerColors: TArray<string> = ['Cyan', 'Magenta', 'Yellow','Black'];