Any paper jam while scanning causes the scanning executable to lock up until an End Task is performed. We are using 7.5.0. We call ImageEnIO.Acquire. Any time a jam occurs an AV is thrown inside the ImageEn units which appears to be handled but control is never returned so the program sits waiting for ImageEnIO.Acquire to return. We also do not get any further callbacks to the OnAcquireBitmap.
We did see in 7.0 a bug fix was listed:
ImageEn 7.0.0 (8 Apr. 2017)
Bug Fixes
Fixed: TImageEnMView.Acquire locks up when scanner jams
Our code:
if not ImageEnIO.SelectAcquireSource([ieaTwain]) then
Exit;
ImageEnIO.TWainParams.PixelType.CurrentValue := Twain_PixelType_BW;
ImageEnIO.TWainParams.VisibleDialog := False;
ImageEnIO.TWainParams.BufferedTransfer := True;
ImageEnIO.TWainParams.ProgressIndicators := False;
ImageEnIO.TWainParams.AcquireFrameEnabled := False;
ImageEnIO.TWainParams.DuplexEnabled := False;
ImageEnIO.TWainParams.XResolution.CurrentValue := 300;
ImageEnIO.TWainParams.YResolution.CurrentValue := 300;
ImageEnIO.TWainParams.AppVersionInfo := '10.0.0.0';
ImageEnIO.TWainParams.AppManufacturer := 'Abeo';
ImageEnIO.TWainParams.AppProductfamily := 'Medical Imaging';
ImageEnIO.TWainParams.AppProductName := 'MedSuite';
ImageEnIO.TWainParams.FeederEnabled := True;
ImageEnIO.TWainParams.AutoFeed := True;
ImageEnIO.TWainParams.LogFile := c:\MedSuite\scan.log';
ImageEnIO.OnAcquireBitmap := TwainDibCallNew;
ImageEnIO.Acquire;
scanner log...
Twain log. Core version 7.5.0 12 12 2017
03/05/2018 5:11:55 PM : IETW_Acquire
03/05/2018 5:11:55 PM : CreateProxyWindow
03/05/2018 5:11:55 PM : CreateProxyWindow : already created
03/05/2018 5:11:55 PM : IETW_LoadSourceManager
03/05/2018 5:11:55 PM : IETW_LoadSourceManager : already loaded
03/05/2018 5:11:55 PM : IETW_OpenSourceManager
03/05/2018 5:11:55 PM : IETW_OpenSourceManager : Ok
03/05/2018 5:11:55 PM : IETW_OpenSource
03/05/2018 5:11:55 PM : Opening "TW-Brother MFC-8680DN LAN"
03/05/2018 5:11:55 PM : Success opening name:"TW-Brother MFC-8680DN LAN" ver:"Version 3.4 Oct, 2005" twain:1.6
03/05/2018 5:11:55 PM : IETW_SetCapabilities
03/05/2018 5:11:55 PM : IETW_SetCapabilities : ICAP_PIXELTYPE
03/05/2018 5:11:55 PM : GetCapability : $0101
03/05/2018 5:11:55 PM : GetCapability : Ok
03/05/2018 5:11:55 PM : SetIntegerAsUINT16Capability
03/05/2018 5:11:55 PM : SetIntegerAsUINT16Capability : ok
03/05/2018 5:11:55 PM : IETW_SetCapabilities : ICAP_UNITS
03/05/2018 5:11:55 PM : GetCapability : $0102
03/05/2018 5:11:55 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : GetUINT16asInteger
03/05/2018 5:11:56 PM : GetUINT16asInteger : ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : ICAP_PIXELFLAVOR
03/05/2018 5:11:56 PM : GetCapability : $111F
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOneUINT16Capability
03/05/2018 5:11:56 PM : SetOneUINT16Capability : ok
03/05/2018 5:11:56 PM : GetCapability : $111F
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : GetUINT16asInteger
03/05/2018 5:11:56 PM : GetUINT16asInteger : ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : ICAP_COMPRESSION
03/05/2018 5:11:56 PM : GetCapability : $0100
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOneUINT16Capability
03/05/2018 5:11:56 PM : SetOneUINT16Capability : ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : ICAP_XRESOLUTION
03/05/2018 5:11:56 PM : GetCapability : $1118
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetDoubleAsFIX32Capability
03/05/2018 5:11:56 PM : SetDoubleAsFIX32Capability : ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : ICAP_YRESOLUTION
03/05/2018 5:11:56 PM : GetCapability : $1119
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetDoubleAsFIX32Capability
03/05/2018 5:11:56 PM : SetDoubleAsFIX32Capability : ok
03/05/2018 5:11:56 PM : GetCapability : $1120
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : GetUINT16asInteger
03/05/2018 5:11:56 PM : GetUINT16asInteger : ok
03/05/2018 5:11:56 PM : GetCapability : $0103
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : GetUINT16asInteger
03/05/2018 5:11:56 PM : GetUINT16asInteger : ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : TWSX_MEMORY - ICAP_XFERMECH
03/05/2018 5:11:56 PM : GetCapability : $0103
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOneUINT16Capability
03/05/2018 5:11:56 PM : SetOneUINT16Capability : ok
03/05/2018 5:11:56 PM : GetCapability : $0103
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : GetUINT16asInteger
03/05/2018 5:11:56 PM : GetUINT16asInteger : ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : CAP_FEEDERENABLED
03/05/2018 5:11:56 PM : GetCapability : $1002
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOnBoolCapability
03/05/2018 5:11:56 PM : SetOnBoolCapability : Ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : CAP_AUTOFEED
03/05/2018 5:11:56 PM : GetCapability : $1007
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOnBoolCapability
03/05/2018 5:11:56 PM : SetOnBoolCapability : Ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : CAP_AUTOSCAN
03/05/2018 5:11:56 PM : GetCapability : $1010
03/05/2018 5:11:56 PM : IETW_DS : General failure. Unload Source immediately.
03/05/2018 5:11:56 PM : GetCapability : FAILED!
03/05/2018 5:11:56 PM : IETW_SetCapabilities : CAP_XFERCOUNT
03/05/2018 5:11:56 PM : GetCapability : $0001
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOneINT16Capability
03/05/2018 5:11:56 PM : SetOneINT16Capability : ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : CAP_INDICATORS
03/05/2018 5:11:56 PM : GetCapability : $100B
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOnBoolCapability
03/05/2018 5:11:56 PM : SetOnBoolCapability : Ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : CAP_DUPLEXENABLED
03/05/2018 5:11:56 PM : GetCapability : $1013
03/05/2018 5:11:56 PM : GetCapability : Ok
03/05/2018 5:11:56 PM : SetOnBoolCapability
03/05/2018 5:11:56 PM : SetOnBoolCapability : Ok
03/05/2018 5:11:56 PM : IETW_SetCapabilities : end
03/05/2018 5:11:56 PM : IETW_EnableSource
03/05/2018 5:11:56 PM : IETW_EnableSource : ShowUI=0 hParent=1575298 ModalUI=4294967295
03/05/2018 5:11:56 PM : IETW_EnableSource : Ok
03/05/2018 5:11:56 PM : IETW_ModalEventLoop
03/05/2018 5:11:56 PM : IETW_ModalEventLoop : event.msg=$00A0
03/05/2018 5:11:56 PM : IETW_MessageHook
03/05/2018 5:11:56 PM : IETW_MessageHook : state>=5
03/05/2018 5:11:56 PM : IETW_MessageHook : event.msg=$0000
03/05/2018 5:11:56 PM : IETW_MessageHook : MSG_NULL
03/05/2018 5:11:56 PM : IETW_MessageHook : end
03/05/2018 5:11:56 PM : IETW_ModalEventLoop : event.msg=$031F
03/05/2018 5:11:56 PM : IETW_MessageHook
03/05/2018 5:11:56 PM : IETW_MessageHook : state>=5
03/05/2018 5:11:56 PM : IETW_MessageHook : event.msg=$0000
03/05/2018 5:11:56 PM : IETW_MessageHook : MSG_NULL
03/05/2018 5:11:56 PM : IETW_MessageHook : end
03/05/2018 5:11:56 PM : IETW_ModalEventLoop : event.msg=$0005
03/05/2018 5:11:56 PM : IETW_MessageHook
03/05/2018 5:11:56 PM : IETW_MessageHook : state>=5
03/05/2018 5:11:56 PM : IETW_MessageHook : event.msg=$0000
03/05/2018 5:11:56 PM : IETW_MessageHook : MSG_NULL
03/05/2018 5:11:56 PM : IETW_MessageHook : end
03/05/2018 5:11:56 PM : IETW_ModalEventLoop : event.msg=$0005
03/05/2018 5:11:56 PM : IETW_MessageHook
03/05/2018 5:11:56 PM : IETW_MessageHook : state>=5
03/05/2018 5:11:56 PM : IETW_MessageHook : event.msg=$0000
03/05/2018 5:11:56 PM : IETW_MessageHook : MSG_NULL
03/05/2018 5:11:56 PM : IETW_MessageHook : end
03/05/2018 5:11:56 PM : IETW_ModalEventLoop : event.msg=$0005
03/05/2018 5:11:56 PM : IETW_MessageHook
03/05/2018 5:11:56 PM : IETW_MessageHook : state>=5
03/05/2018 5:11:56 PM : IETW_MessageHook : event.msg=$0000
03/05/2018 5:11:56 PM : IETW_MessageHook : MSG_NULL
03/05/2018 5:11:56 PM : IETW_MessageHook : end
03/05/2018 5:11:56 PM : IETW_ModalEventLoop : event.msg=$C088
03/05/2018 5:11:56 PM : IETW_MessageHook
03/05/2018 5:11:56 PM : IETW_MessageHook : state>=5
03/05/2018 5:11:56 PM : IETW_MessageHook : event.msg=$0000
03/05/2018 5:11:56 PM : IETW_MessageHook : MSG_NULL
03/05/2018 5:11:56 PM : IETW_MessageHook : end
03/05/2018 5:11:56 PM : IETW_ModalEventLoop : event.msg=$C247
03/05/2018 5:11:56 PM : IETW_MessageHook
03/05/2018 5:11:56 PM : IETW_MessageHook : state>=5
03/05/2018 5:11:56 PM : IETW_MessageHook : event.msg=$0101
03/05/2018 5:11:56 PM : IETW_XferReadyMulti
03/05/2018 5:11:56 PM : IETW_XferReadyMulti : getting another image
03/05/2018 5:11:56 PM : IETW_XferReadyMulti.ImageInfo
03/05/2018 5:11:56 PM : IETW_XferReadyMulti.ImageInfo : end
03/05/2018 5:11:56 PM : IETW_XferReadyMulti : buffered transfer mode
03/05/2018 5:11:56 PM : IETW_XferReadyMulti : DAT_SETUPMEMXFER Ok
03/05/2018 5:11:56 PM : AllocXFerBuffer : bufsize = 1048576, actual = 3124992
03/05/2018 5:12:08 PM : IETW_XferReadyMulti : rc = 0
03/05/2018 5:12:08 PM : IETW_XferReadyMulti : TWRC_SUCCESS begin
03/05/2018 5:12:08 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=837 XOff=0 YOff=0 BytesWrt=1047924 BitsPerPx=8
03/05/2018 5:12:08 PM : SrcH=1A231020 SrcPtr=1A231020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x837
03/05/2018 5:12:08 PM : CopyBuffer : Ok
03/05/2018 5:12:08 PM : IETW_XferReadyMulti : TWRC_SUCCESS or TWRC_XFERDONE end
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : rc = 0
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : TWRC_SUCCESS begin
03/05/2018 5:12:12 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=774 XOff=0 YOff=837 BytesWrt=969048 BitsPerPx=8
03/05/2018 5:12:12 PM : SrcH=1A231020 SrcPtr=1A231020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x774
03/05/2018 5:12:12 PM : CopyBuffer : Ok
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : TWRC_SUCCESS or TWRC_XFERDONE end
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : rc = 6
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : TWRC_XFERDONE begin
03/05/2018 5:12:12 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=4 XOff=0 YOff=1611 BytesWrt=5008 BitsPerPx=8
03/05/2018 5:12:12 PM : SrcH=1A231020 SrcPtr=1A231020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x4
03/05/2018 5:12:12 PM : CopyBuffer : Ok
03/05/2018 5:12:12 PM : GetCapability : $1001
03/05/2018 5:12:12 PM : IETW_DS : General failure. Unload Source immediately.
03/05/2018 5:12:12 PM : GetCapability : FAILED!
03/05/2018 5:12:12 PM : FixBitmapSize: 0 0 1250 1614
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : getting another image
03/05/2018 5:12:12 PM : IETW_XferReadyMulti.ImageInfo
03/05/2018 5:12:12 PM : IETW_XferReadyMulti.ImageInfo : end
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : buffered transfer mode
03/05/2018 5:12:12 PM : IETW_XferReadyMulti : DAT_SETUPMEMXFER Ok
03/05/2018 5:12:12 PM : AllocXFerBuffer : bufsize = 1048576, actual = 3124992
03/05/2018 5:12:16 PM : IETW_XferReadyMulti : rc = 0
03/05/2018 5:12:16 PM : IETW_XferReadyMulti : TWRC_SUCCESS begin
03/05/2018 5:12:16 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=837 XOff=0 YOff=0 BytesWrt=1047924 BitsPerPx=8
03/05/2018 5:12:16 PM : SrcH=1A235020 SrcPtr=1A235020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x837
03/05/2018 5:12:16 PM : CopyBuffer : Ok
03/05/2018 5:12:16 PM : IETW_XferReadyMulti : TWRC_SUCCESS or TWRC_XFERDONE end
03/05/2018 5:12:19 PM : IETW_XferReadyMulti : rc = 0
03/05/2018 5:12:19 PM : IETW_XferReadyMulti : TWRC_SUCCESS begin
03/05/2018 5:12:19 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=772 XOff=0 YOff=837 BytesWrt=966544 BitsPerPx=8
03/05/2018 5:12:19 PM : SrcH=1A235020 SrcPtr=1A235020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x772
03/05/2018 5:12:19 PM : CopyBuffer : Ok
03/05/2018 5:12:19 PM : IETW_XferReadyMulti : TWRC_SUCCESS or TWRC_XFERDONE end
03/05/2018 5:12:19 PM : IETW_XferReadyMulti : rc = 6
03/05/2018 5:12:19 PM : IETW_XferReadyMulti : TWRC_XFERDONE begin
03/05/2018 5:12:19 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=6 XOff=0 YOff=1609 BytesWrt=7512 BitsPerPx=8
03/05/2018 5:12:19 PM : SrcH=1A235020 SrcPtr=1A235020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x6
03/05/2018 5:12:19 PM : CopyBuffer : Ok
03/05/2018 5:12:19 PM : GetCapability : $1001
03/05/2018 5:12:19 PM : IETW_DS : General failure. Unload Source immediately.
03/05/2018 5:12:19 PM : GetCapability : FAILED!
03/05/2018 5:12:19 PM : FixBitmapSize: 0 0 1250 1614
03/05/2018 5:12:20 PM : IETW_XferReadyMulti : getting another image
03/05/2018 5:12:20 PM : IETW_XferReadyMulti.ImageInfo
03/05/2018 5:12:20 PM : IETW_XferReadyMulti.ImageInfo : end
03/05/2018 5:12:20 PM : IETW_XferReadyMulti : buffered transfer mode
03/05/2018 5:12:20 PM : IETW_XferReadyMulti : DAT_SETUPMEMXFER Ok
03/05/2018 5:12:20 PM : AllocXFerBuffer : bufsize = 1048576, actual = 3124992
03/05/2018 5:12:23 PM : IETW_XferReadyMulti : rc = 0
03/05/2018 5:12:23 PM : IETW_XferReadyMulti : TWRC_SUCCESS begin
03/05/2018 5:12:23 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=837 XOff=0 YOff=0 BytesWrt=1047924 BitsPerPx=8
03/05/2018 5:12:23 PM : SrcH=1A233020 SrcPtr=1A233020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x837
03/05/2018 5:12:23 PM : CopyBuffer : Ok
03/05/2018 5:12:23 PM : IETW_XferReadyMulti : TWRC_SUCCESS or TWRC_XFERDONE end
03/05/2018 5:12:26 PM : IETW_XferReadyMulti : rc = 0
03/05/2018 5:12:26 PM : IETW_XferReadyMulti : TWRC_SUCCESS begin
03/05/2018 5:12:26 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=772 XOff=0 YOff=837 BytesWrt=966544 BitsPerPx=8
03/05/2018 5:12:26 PM : SrcH=1A233020 SrcPtr=1A233020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x772
03/05/2018 5:12:26 PM : CopyBuffer : Ok
03/05/2018 5:12:26 PM : IETW_XferReadyMulti : TWRC_SUCCESS or TWRC_XFERDONE end
03/05/2018 5:12:26 PM : IETW_XferReadyMulti : rc = 6
03/05/2018 5:12:26 PM : IETW_XferReadyMulti : TWRC_XFERDONE begin
03/05/2018 5:12:26 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=6 XOff=0 YOff=1609 BytesWrt=7512 BitsPerPx=8
03/05/2018 5:12:26 PM : SrcH=1A233020 SrcPtr=1A233020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x6
03/05/2018 5:12:26 PM : CopyBuffer : Ok
03/05/2018 5:12:26 PM : GetCapability : $1001
03/05/2018 5:12:26 PM : IETW_DS : General failure. Unload Source immediately.
03/05/2018 5:12:26 PM : GetCapability : FAILED!
03/05/2018 5:12:26 PM : FixBitmapSize: 0 0 1250 1614
03/05/2018 5:12:27 PM : IETW_XferReadyMulti : getting another image
03/05/2018 5:12:27 PM : IETW_XferReadyMulti.ImageInfo
03/05/2018 5:12:27 PM : IETW_XferReadyMulti.ImageInfo : end
03/05/2018 5:12:27 PM : IETW_XferReadyMulti : buffered transfer mode
03/05/2018 5:12:27 PM : IETW_XferReadyMulti : DAT_SETUPMEMXFER Ok
03/05/2018 5:12:27 PM : AllocXFerBuffer : bufsize = 1048576, actual = 3124992
03/05/2018 5:12:30 PM : IETW_XferReadyMulti : rc = 0
03/05/2018 5:12:30 PM : IETW_XferReadyMulti : TWRC_SUCCESS begin
03/05/2018 5:12:30 PM : CopyBuffer : Comp=0 BytesPerRow=1252 Cols=1251 Rows=837 XOff=0 YOff=0 BytesWrt=1047924 BitsPerPx=8
03/05/2018 5:12:30 PM : SrcH=1A23E020 SrcPtr=1A23E020 NativPxFrmt=0 DestPixFrmt=5 DestSize:1251x1615 colrowCount:1251x837
03/05/2018 5:12:30 PM : CopyBuffer : Ok
03/05/2018 5:12:30 PM : IETW_XferReadyMulti : TWRC_SUCCESS or TWRC_XFERDONE end
03/05/2018 5:13:02 PM : IETW_DS : Exception -> Access violation at address 06A8ED73 in module 'BrTwdsUi.dll'. Read of address 00000028
03/05/2018 5:13:02 PM : IETW_XferReadyMulti : rc = 1