WOW Da komm ich ja schon fast nichtmehr hinterher.
Also meine JPGtoBMP Funktion speichert das Kovertierte File immer über das TempImage.bmp das hol ich mir dann immer.
Ich muss ds nicht zwingend mit einem Timer machen war mir als Anfänger nur der einfachste und schnellste Weg um das zu realisieren.
Ich hab das nun versucht in eine Schleife umzubauen, das haut aber nicht ganz hin komischwerweise habe ich in Zähler i eine riesen zahl drin.
Hier mal der Code des Form.Show indem ich das reingebaut habe.
Delphi-Quellcode:
procedure TForm3.FormShow(Sender: TObject);
var
ImageFile: string;
n, i: integer;
begin
n:= Form1.Memo1.Lines.Count-1;
ShowMessage(inttostr(i) + '< i to n >' + inttostr(n));
for i:=0 to n do
begin
//----------------------------------------------------------------------
if PicCount >= Form1.Memo1.Lines.Count-1 then
PicCount := 0
else
Inc(PicCount);
//----------------------------------------------------------------------
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[PicCount]);
FadeIn(ImageFile);
sleep(8000);
Application.ProcessMessages;
Fadeout(ImageFile);
end;
end;
Im der Message steht nun "4551088 < i to n > 17"
Woher kommt diese Zahl in i, ist die Schleife nun so oft durchgelaufen, es wurde kein Bild angezeigt.
EDIT:
Der Timer ist doch disabled und wird erst beim Aufrufs des Form3 aus Form1 aktiviert.
Oder verstehe ich dich falsch?