I just downloaded the latest source archive from SourceForge (PortableAppsPlatformSource17.1.1.7z) and tried to compile and run it in debug mode. I immediately got a Range Check error here:
unit main.pas, Line 1905:
for iControl := 0 to length(arrAppButtonForegrounds) do
if (TObject(arrAppButtonButtons[iControl]) = Sender) or (TObject(arrAppButtonForegrounds[iControl]) = Sender) then
Which is correct because arrAppButtonForegrounds is declared as
arrAppButtonForegrounds: array [0..19] of TImage;
which means that Length(arrAppButtonForegrounds) = 20.
The correct code would be:
for iControl := 0 to length(arrAppButtonForegrounds)-1 do
or better:
for iControl := Low(arrAppButtonForegrounds) to High(arrAppButtonForegrounds) do
Are these really the current sources of the program? Doesn't anybody ever run them in the debugger?
edit: The same problem is in line 1979 and again in line 1994, 3678, 3740, 3784, 3795, 3811,