Проблема с TfrPictureView
День добрый!
Имеется простейший отчет с TfrPictureView, в который загружаются изображения в формате JPEG размтерами ~900x600 и объемом ~300Кб для каждой записи.
При любом кол-ве записей BuildReport проходит нормально, а вот ShowPreparedReport может занять до 10 мин и съесть 200MB (или выпасть в Out of memory while expanding memory stream) уже при 50 записях в отчете.
Кто сталкивался с таким эффектом, подскажите как побороть!
Изображения загружаются в OnBeforePrint. Фунция, которая это делает выглядит так:
<span style='font-family:Courier'>procedure LoadPicture(PictureView: TfrPictureView; FileName: string; IsIcon: boolean = False);
var
Picture: TPicture;
begin
if (FileName='') or not FileExists(FileName) then begin
PictureView.Picture.Assign(nil);
Exit;
end;
Picture:=TPicture.Create;
Picture.LoadFromFile(FileName);
if IsIcon then
PictureView.Picture.Icon.Assign(Picture.Graphic)
else
PictureView.Picture.Bitmap.Assign(Picture.Graphic);
Picture.Free;
end;</span>
Имеется простейший отчет с TfrPictureView, в который загружаются изображения в формате JPEG размтерами ~900x600 и объемом ~300Кб для каждой записи.
При любом кол-ве записей BuildReport проходит нормально, а вот ShowPreparedReport может занять до 10 мин и съесть 200MB (или выпасть в Out of memory while expanding memory stream) уже при 50 записях в отчете.
Кто сталкивался с таким эффектом, подскажите как побороть!
Изображения загружаются в OnBeforePrint. Фунция, которая это делает выглядит так:
<span style='font-family:Courier'>procedure LoadPicture(PictureView: TfrPictureView; FileName: string; IsIcon: boolean = False);
var
Picture: TPicture;
begin
if (FileName='') or not FileExists(FileName) then begin
PictureView.Picture.Assign(nil);
Exit;
end;
Picture:=TPicture.Create;
Picture.LoadFromFile(FileName);
if IsIcon then
PictureView.Picture.Icon.Assign(Picture.Graphic)
else
PictureView.Picture.Bitmap.Assign(Picture.Graphic);
Picture.Free;
end;</span>
Комментарии
Может есть другие варианты решения проблемы?