EVariantLockedError when using TClientdataset with TOracleProvider

Helene

Member³
We have an application using TClientdataset connected to an TOracleDataset with the TOracleProvider.

Most of the time thiw works just fine, but occasionally the program fails with an EVariantLockedError exception. Apparently this occurs somewhere within the TClientdataset call to CheckProviderEOF (following a locate on the clientdataset).

This worked fine with delphi 5, the problem has only been seen in the delphi 6 version.

One of our clients has been particularly troubled with this bug, whereas others haven't reported it at all. What could be the problem? I see that you call VarArrayLock in your code (without always using a try-finally clause, which should always be used with locking/unlocking code). I have a suspicion that it might have to do with using the correct version of the MIDAS.dll, could that be the case?

I would very much appreciate any help with this!
 
We'll add a try/finally block for the VarArrayLock and VarArrayUnlock pairs. Perhaps you can do the same to verify if this fixes the problem? My guess is that this will not fix the problem though, because in that case you would first see another exception. You never know though...

------------------
Marco Kalter
Allround Automations
 
Back
Top