Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Too Many Blobfields Open

Posted on 1997-05-07
4
Medium Priority
?
218 Views
Last Modified: 2010-04-06
After we have printed several reports using rppro 2.0g we get the too many Blobfields open error and have to terminate the app in order to restore the system resources. The error occurs after about seven or so printouts on a 24 MB system.
We have narrowed this error down to what we believe is a database problem. One of our tables has a blobfield in the record. I believe this occurs on the following section of code.
Ch1BlobStream := TBlobStream.Create(MyoexorciserMain.TreatmentsCh1SessData, bmRead);
   Ch2BlobStream := TBlobStream.Create(MyoexorciserMain.TreatmentsCh2SessData, bmRead);
   Ch1BlobStream.Read(Ch1Array^, TotalPoints);
   Ch2BlobStream.Read(Ch2Array^, TotalPoints);
   MyoexorciserMain.Treatments.Cancel;
   Ch1BlobStream.Free;
   Ch2BlobStream.Free;

The arrays which are being assigned to the blobstreams are defined as follows:
{allocate storage for the raw channel data}
   Ch1Array, Ch2Array: PChanArray;
.....
PChanArray = ^TChanArray;
   TChanArray = Array[0..Max] of Byte; { MAX = 65,000}
   PAdaptArray = ^TAdaptArray;  

Is there a problem in the way we are assigning the arrays to the blobstreams? Does Delphi really free up these blobstreams and if so why do we get this error?

BTW we were unable to get the SET method to work for assigning the dynamic array directly to the bloblstream and the use of the filestream was very slow, although at this juncture I am open to any work around.
0
Comment
Question by:billmee
  • 3
4 Comments
 

Author Comment

by:billmee
ID: 1335996
Edited text of question
0
 

Author Comment

by:billmee
ID: 1335997
Edited text of question
0
 

Author Comment

by:billmee
ID: 1335998
Incidentally, if we access the same record more than three times we get an exception violation.  The Too Many Bloblfiels open error is good for about 7 - 10 accesses of different records, if this is any help
0
 
LVL 3

Accepted Solution

by:
sperling earned 660 total points
ID: 1335999
Try not cancelling until you've freed the blobstreams. Might help, but I'm not sure.

Regards,

Erik.

0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question