Salut à tous

VOila j'utilise la procedure suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
Procedure TForm1.Play(Cursor : longInt);
 Var
 i,SizeBegin,ImgSize: longInt;
 jpg: tjpegimage;
 begin
 FSS:=TFIleStream.Create(FichEd.text,fmOpenRead);
 MS:=TMemoryStream.create;
 jpg:= tjpegimage.Create;
 SizeBegin:=0;
 For i:=0 to Cursor do
 begin
 SizeBegin:=SizeBegin+StrToInt(InfoList.Strings[Cursor]);
 end;
 ImgSize:=StrToInt(InfoList.Strings[Cursor+1]);
 Try
 FSS.Position:=SizeBegin;
 MS.CopyFrom(FSS,ImgSize);
 MS.Seek(0,SoFromBeginning);
 jpg.LoadFromStream(MS);
 Visual.Picture.Bitmap.Assign(jpg);
 Finally
 jpg.free;
 FSS.Free;
 MS.Free;
 end;
 end;
InfoList est une stringList
Cursor est un integer.
Visual est un TImage.
Les streams sont déclarées comme des variables globales

La procedure ne plante pas. Sauf si j'utilise un Timer pour l'appeler. Je ne comprends pas pk. Si quelqu'un a une idée ??

Merci A+