Subject | Multithreading problem - error reading data from the connection |
---|---|
Author | Miroslav Penchev |
Post date | 2006-10-16T19:42:36Z |
Hi,
I have application with heavy forms and try to make some late loading
of data with threads. I made a simple thread class in Delphi which takes
a MDOQuery (similar to IBX components) and linked to it ClientDataSet.
In the thread I create a separate MDODatabase and MDOTransaction and
attach Query component to them. Then I open ClientDataSet to fetch all
records.
In about 10% of tests I get "error reading data from the connection"
when try to open some of MDODataset components in main thread just
after the thread was fetched its records.
I am almost sure that two threads use different MDODatabase components
- I look at the Handle property trough OutputDebugString before open of
DataSet.
Is there any other prerequisites for multithreading work with
Firebird, except connection-per-thread?
Any ideas are very ,
--
Miroslav Penchev
I have application with heavy forms and try to make some late loading
of data with threads. I made a simple thread class in Delphi which takes
a MDOQuery (similar to IBX components) and linked to it ClientDataSet.
In the thread I create a separate MDODatabase and MDOTransaction and
attach Query component to them. Then I open ClientDataSet to fetch all
records.
In about 10% of tests I get "error reading data from the connection"
when try to open some of MDODataset components in main thread just
after the thread was fetched its records.
I am almost sure that two threads use different MDODatabase components
- I look at the Handle property trough OutputDebugString before open of
DataSet.
Is there any other prerequisites for multithreading work with
Firebird, except connection-per-thread?
Any ideas are very ,
--
Miroslav Penchev