Lass dir mal in einer Messagebox die Filenames und die bitmap.width ausgeben. Vielleicht stimmt da was nicht...ansonsten sehe ich grade den fehler nicht.
Damit du das ganze in eine endlosschleife bekommst, würde ich die FOR schleife in eine extra Prozedur schreiben z.B. procedure EinDurchgang. Und dann rufst du die immer wieder auf.
Noch ein Tipp, damit dir das Programm nicht "einfriert". Ersetze das Sleep(8000) besser durch:
Delphi-Quellcode:
procedure WaitSomeTime(milsec:integer);
var Start, Ende:integer;
begin
Start:=GetTickCount;
Ende:=Start;
while (Ende-Start)<milsec do
begin
application.processmessages;
sleep(50);
Ende:=GetTickCount;
end;
end;
Dann würde das ganze so aussehen:
Delphi-Quellcode:
procedure TForm3.FormShow(Sender: TObject);
var
ImageFile: string;
n, i: integer;
begin
n:= Form1.Memo1.Lines.Count-1;
for i:=0 to n do
begin
ShowMessage(inttostr(i) + '< i to n >' + inttostr(n));
//----------------------------------------------------------------------
if i mod 5 = 0 then
ImageFile:=ExtractFilePath(Application.ExeName)+'HZImage.bmp'
else
ImageFile:=ExtractFilePath(Application.ExeName)+'TempImage.bmp';
//----------------------------------------------------------------------
JpegToBmp(Form1.Edit1.Text + Form1.Memo1.Lines[i]);
FadeIn(ImageFile);
WaitSomeTime(8000);
Fadeout(ImageFile);
end;
end;
Aber das ändert wahrscheinlich nichts an deinem Endlos Problem