Icon View Incident Report

Serious Serious
Reported By: Scott Jones [Trelleborg Marine Systems M
Reported On: 7/13/2015
For: Version 4.40 Build 1
# 4184 Creation Order of TDBISAMDatabase and TDBISAMSession Can Cause Access Violation

Freed memory is being referenced in TDBISAMDatabase.Destroy if the TDBISAMDatabase component is placed on the form before the TDBISAMSession component. When the application ends, the session component is destroyed before the database component but the database.fsession field has not been set to nil in TDBISAMDatabase.Notification
The simple workaround is to set the creation order (session then database)

Place a TDBISAMDatabase component on a form and then a
TDBISAMSession component and link them.  Build the 
application with FastMM4 using the FullDebugMode option.
Close the application and an AV occurs at

FSession.RemoveDatabase(Self) in TDBISAMDatabase.Destroy

Comments Comments and Workarounds
The workaround is to reverse the creation order.

Resolution Resolution
Fixed Problem on 7/20/2015 in version 4.42 build 1

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