Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Midas/TClientDataSet    [ Add a report in this area ]  
Report #:  6591   Status: Closed
TBlobfield looses value when LogChanges = False
Project:  Delphi Build #:  4453
Version:    7.0 Submitted By:   gencom gencom
Report Type:  Basic functionality failure Date Reported:  12/10/2003 4:49:29 AM
Severity:    Commonly encountered problem Last Updated: 6/27/2006 12:28:33 PM
Platform:    95, 98, 2000, NT, XP Internal Tracking #:   194371
Resolution: Fixed (Resolution Comments) Resolved in Build: : 7.0.8.1
Duplicate of:  None
Voting and Rating
Overall Rating: (2 Total Ratings)
4.50 out of 5
Total Votes: 2
Description
When updating a TBlobfield the clientdataset is losing blob data when the LogChanges is set to False (local, non multi-tier), not necessarily in the record that is beeing updated, but in the record that was changed before.

This problem seems to occur with Midas.dll from Delphi6 & Delphi7.

A known workaround is setting LogChanges to True and using the MergeChangeLog method to clear the Delta (reclaim memory), but this is of no use when running Delphi5 applications if the Midas.dll of Delphi7 is installed and can not be downgraded.
Steps to Reproduce:

Run attached project
Browse through the records and validate that all records have a bitmap assigned
On the first record, click the second image
Go to the last record and notice that the bitmap is gone
Click on an image, it gets assigned again
Go to the first record again and notice that the bitmap is gone again

Comment out the line  ClientDataSet1.LogChanges:=False;  and all goes well
This can not be done in already existing (Delphi5) projects that now have to use
the midas.dll of Delphi7 for newer applications
Workarounds
None
Attachment
MidasLogChangesBlob.zip
Comments

Robert Cerny at 12/17/2003 12:48:38 PM -
What do you mean "not usable for D5 application"?
This bug is in midas 7.x dll, not in VCL code, so this workaround applies for any application that uses it.
I'm using it in D5 application and discovered it after installing D7.

gencom gencom at 12/19/2003 5:24:48 AM -
I mean this is no bugfix for D5 applications that can not be recompiled by us, and now have to use the Midas.dll of Delphi 7 for our D7 applications.  The midas 7 (8?) dll should be fixed.

Robert Cerny at 1/8/2004 12:50:02 PM -
Would be OK, if Borland would assure patch and your customers would be willing to wait so long.

Since it is very unlikely to happen, you have no other option but to rebuild the D5 projects.

Dave Rowntree at 5/11/2004 3:35:55 AM -
Fixed in Midas.dll

Server Response from: CODE1