Also am Code der Prozedur selber kann es nicht liegen. Aber warum packst du den Prozedurenkopf nicht in den private/public Teile und das TForm1 hat da oben auch nichts zu suchen, also:
Delphi-Quellcode:
//...
Button1: TButton;
private
{ Private-Deklarationen }
procedure RandomRange(min, max: integer);
public
{ Public-Deklarationen }
end;
Und statt
if img <> nil then
kanst du auch
if Assigned(img) then
schreiben.