Icon View Incident Report

Serious Serious
Reported By: Rita Bosse [Rita Bosse Software GmbH]
Reported On: 9/14/2021
For: Version 4.47 Build 1
# 4854 Accessing a BLOB Stream in a Table/Query During an Insert Causes #10030 Invalid BLOB Handle Error

When you're inserting a new record into a table which is connected to a DBGrid and a DBMemo and you're resizing the window the following error could occur:

DBISAM Engine Error # 10030 Invalid BLOB handle

Use the attached demo and follow these steps: 
1. Click on the Button "open"
2. Click on the Button "insert"
3. Insert a text in the first DBMemo
4. Click in the second Memo
5. Resize the Window (the Width)
6. You'll get this Error: DBISAM Engine Error # 10030 Invalid BLOB handle for the table 'Grableistung' specified.

Comments Comments
The issue was that DBISAM was not checking to ensure that it had a valid BLOB handle before trying to open the BLOB in the TDBISAMBlobStream.Create constructor. Normally, this isn't an issue because the BLOB stream state matches the BLOB handle lifetimes in record buffers, but this is not the case with repaints in grids that create a BLOB stream in order to get the length of the BLOB.

Resolution Resolution
Fixed Problem on 9/16/2021 in version 4.50 build 2

Products Affected Products Affected
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard with Source