bonjour à tous,
voici mon problème : je souhaite pour la 1ère fois utiliser les TMemoryStream afin de stocker mes pages de FastReport, puis de reconstruire un rapport complet en appelant les pages sauvées dans mes Memorystream, ne connaissant pas leurs nombres j'ai pensé les sauver dans Array of TMemoryStream.
lorsque je reconstruis mon état, j'obtiens seulement la dernière page crée...au nombre de la variable LNbreStream bien sûr.
je ne trouve pas mon erreur, d'ailleurs est-ce un bon principe ?
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
28
29 var LListeStream: array of TMemoryStream; LSTream : TMemoryStream; LNbreStream: integer; begin for i:= 0 to ... do // préparation des états et mise en Stream begin LNbreStream:= 0; inc(LNbreStream); SetLength(LListeStream, LNbreStream+1); LListeStream[LNbreStream] := TMemoryStream.Create; Report_FVT.PrepareReport(true); Report_FVT.SaveToStream(TStream(LListeStream[LNbreStream])); end ... ... // utilisation du tableau array of TMemoryStream for l := 1 to LNbreStream do begin LSTream:= TMemoryStream.Create; LSTream:= LListeStream[l]; LSTream.Position:= 0; Report_FVT.LoadFromStream(LSTream); ... end; Report_FVT.ShowPreparedReport; end;
merci de votre aide
Partager