Hi,
I am getting the following error from FastMM when I try to scan TIF-files via TImageEnMView. Delphi 2009, FastMM 4.991 und ImageEn 7.0.0.1
stacklist:
Fehlermeldung:
Zu wenig Arbeitsspeicher
--------------------------------------------------------------------------
--
Exception class: EOutOfMemory
Exception Adresse: 00404A93
--------------------------------------------------------------------------
--
Stackliste, generiert 11.12.2017 16:00:29 [00404A8E] System.TObject.NewInstance + $A [00403756] System.ErrorAt + $16 [00404A8E] System.TObject.NewInstance + $A [00404FDF] System.@ClassCreate + $7 [00A40552] iexBitmaps.TIOParams.Create (Line 42125, "iexBitmaps.pas" + 0)
+ $A
[00A47C8B] iexBitmaps.TIOMultiParams.CheckAllocated (Line 50603, "iexBitmaps.pas" + 4) + $9 [00A47F3C] iexBitmaps.TIOMultiParams.GetParams (Line 50699, "iexBitmaps.pas" + 4) + $4 [00991B0D] iemio.TImageEnMIO.LoadFromStreamTIFF (Line 1645, "iemio.pas" +
19) + $C
[00436B5D] Classes.THandleStream.Create + $19 [0040504D] System.@AfterConstruction + $1D [009919F0] iemio.TImageEnMIO.LoadFromFileTIFF (Line 1596, "iemio.pas" + 5)
+ $6
[009925F1] iemio.TImageEnMIO.LoadFromFile (Line 2140, "iemio.pas" + 27) +
$5
[00992453] iemio.TImageEnMIO.LoadFromFile (Line 2099, "iemio.pas" + 22) +
$6
I am using the following code:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, hyieutils, iexBitmaps, hyiedefs, iesettings, iexLayers, iexRulers, StdCtrls, ieview, iemview, fraImageIE,
FileCtrl, ComCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
FrameImgIE1: TFrameImgIE;
ListView1: TListView;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
private
currCount: Integer;
procedure ImageEnMView1AfterAcquireBitmap(Sender: TObject; index: Integer);
public
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
currCount := 0;
with FrameImgIE1.ImagePreview.MIO do
begin
TwainParams.ShowSettingsOnly := False;
TwainParams.ProgressIndicators := False;
TwainParams.VisibleDialog := false;
TwainParams.FeederEnabled := true;
Acquire;
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
FrameImgIE1.ImagePreview.MIO.OnAfterAcquireBitmap := ImageEnMView1AfterAcquireBitmap;
end;
procedure TForm2.ImageEnMView1AfterAcquireBitmap(Sender: TObject; index: Integer);
var
item: TListItem;
begin
Inc(currCount);
ListView1.AddItem('D:\tempImage_' + Format('%.3d', [currCount]) + '.tif', nil);
item := ListView1.Items[ListView1.Items.Count - 1];
FrameImgIE1.ImagePreview.MIO.Params[index].TIFF_Compression := ioTIFF_G4FAX;
FrameImgIE1.ImagePreview.MIO.Params[index].BitsPerSample := 1;
FrameImgIE1.ImagePreview.MIO.Params[index].SamplesPerPixel := 1;
FrameImgIE1.ImagePreview.MIO.SaveToFileTIFF(item.Caption);
FrameImgIE1.ImagePreview.Clear;
end;
procedure TForm2.ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
begin
FrameImgIE1.LoadImage(Item.Caption);
end;
end.
If I comment out the FastMM unit then all seems to work correctly.
Any clue on this error???
Greetings.
madas