Проблема в том, что вы эффективно делаете это:
var
imageVariable: TImage;
begin
imageVariable.Create (ParentForm);
end;
Что неверно, потому что метод "Create" вызывается для переменной, которая еще не была назначена.
Вы должны сделать это:
var
imageVariable: TImage;
begin
imageVariable := TImage.Create (ParentForm);
try
//use the object
finally
FreeAndNil (imageVariable);
end;
end;
Или, точнее, в вашем коде:
for Loop := 1 to 10 do
begin
ArrayOfImages[Loop] := TImage.Create (Self);
end;
Не забудьте освободить объекты
РЕДАКТИРОВАТЬ: Принятие комментария @ andiw и возврат наконечника освобождения объектов.
РЕДАКТИРОВАТЬ 2: Принятие комментария @ Джерри и использование Self в качестве владельца.