![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 3 of 3 total |
![]() |
Thu, Feb 11 2010 4:39 AM | Permanent Link |
"Petter Topp" | Hi.
I have been implementing my dbisam application with a customer, and have experienced problems with a certain part of the app. In this case I have discovered that I have forgotten to free a stream. MyStream:= CreateBlobStream('MyField', bmWrite); Listbox.Items.SaveToStrem(MyStream); How would/could a missing free of MyStream affect my application? The symptoms I'm experiencing is that that the application hangs presumably on posting of data. -- Best Regards Petter Topp Sent using Opera newsreader: http://www.opera.com/ |
Thu, Feb 11 2010 1:59 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Petter,
<< How would/could a missing free of MyStream affect my application? The symptoms I'm experiencing is that that the application hangs presumably on posting of data. >> See here in the manual: http://www.elevatesoft.com/manual?action=mantopic&id=dbisam4&product=d&version=7&category=1&topic=30 at the very bottom: "Note For proper results when updating a BLOB field using a TDBISAMBlobStream object, you must create the TDBISAMBlobStream object after calling the Append/Insert or Edit methods for the dataset containing the BLOB field. Also, you must free the TDBISAMBlobStream object before calling the Post method to post the changes to the dataset. Finally, be sure to use the proper open mode when creating a TDBISAMBlobStream object for updating (either bmReadWrite or bmWrite)." The freeing of the stream causes the record to be properly updated so that the BLOB field is flagged as modified. However, it shouldn't cause a hang if you don't free the stream properly. Are you freeing the stream much later, or never ? -- Tim Young Elevate Software www.elevatesoft.com |
Fri, Feb 12 2010 2:57 AM | Permanent Link |
"Petter Topp" | Hi Tim.
In this case the stream was never freed/destroyed. I have now freed the stream, and it seem that this has made things more predictable.... Petter > Petter, > > << How would/could a missing free of MyStream affect my application? The > symptoms I'm experiencing is that that the application hangs presumably > on > posting of data. >> > > See here in the manual: > > http://www.elevatesoft.com/manual?action=mantopic&id=dbisam4&product=d&version=7&category=1&topic=30 > > at the very bottom: > > "Note > For proper results when updating a BLOB field using a TDBISAMBlobStream > object, you must create the TDBISAMBlobStream object after calling the > Append/Insert or Edit methods for the dataset containing the BLOB field. > Also, you must free the TDBISAMBlobStream object before calling the Post > method to post the changes to the dataset. Finally, be sure to use the > proper open mode when creating a TDBISAMBlobStream object for updating > (either bmReadWrite or bmWrite)." > > The freeing of the stream causes the record to be properly updated so > that > the BLOB field is flagged as modified. However, it shouldn't cause a > hang > if you don't free the stream properly. > > Are you freeing the stream much later, or never ? > -- Sendt med Operas revolusjonerende e-postprogram: http://www.opera.com/mail/ |
This web page was last updated on Wednesday, August 14, 2024 at 03:12 PM | Privacy Policy![]() © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |