Hallo Blackheart,
wenn du Referenzen auf die TImage-Komponenten in ein (statisches oder dynamisches) Array packst, kannst du mit einer einfachen Hilfsroutine den nächsten freien Platz ermitteln:
Delphi-Quellcode:
var
Images : array [0..5] of TImage; // evtl. dynamisches Array
function GetVisibleImage (var aImage: TImage): Boolean;
var
i : Integer;
begin
for i := 0 to High(Images) do
begin
aImage := Images[i];
Result := aImage.Visible;
if Result then
Exit;
end;
Result := False;
end;
var
Image : TImage;
begin
// einmalige Initialisierung des Arrays
Images[0] := Image1;
...
Images[5] := Image6;
// beliebige Anzahl von Tests
if GetVisibleImage(Image) then
Image.LoadFromFile (...);
end;
Du kannst die ganze Verwaltung der Bilder auch in eine Klasse stecken. Diese benötigt nur zwei Methoden: eine zum Hinzufügen von Bildern zur (internen) Liste und die obige Routine zum Ermitteln des nächsten freien Platzes:
Delphi-Quellcode:
type
TImageManager = class
private
FImages : array of TImage;
public
procedure AddImage (aImage: TImage);
function GetVisibleImage (var aImage: TImage): Boolean;
end;
Gruß Hawkeye