Hi,
I'm using RadStudio XE (C++ personality).
I've just upgrade IBDAC professional with source code from version 4.1.4 to 6.2.8 (09-Jul-18).
After upgrade and rebuild all I found strange behaviour of may applications. TJvThread (from JVCL library) doesn't terminate any more.
I've recheck that none old dcu, bpi, lib etc. was left from previous version.
I've test binary version 6.2.8 in some other vm environment and the problem persists.
Because I use IBDAC in threads i try to test it with just simply empty thread and I've got the same effect, thread doesn't terminate.
So it looks like something spoils memory and i see only the side effect.
I try to narrow this problem to IBDAC version. I've test with 6.1.7 (10-Apr-18) and it works ok.
So i try to test changes made between version 6.1.7 and 6.2.8 and I've narrow this problem to record
TLocalMDLink = record
IsNull: boolean;
Buffer: IntPtr;
BufferType: Word;
NativeBuffer: boolean;
FieldNo: integer;
MasterFieldValue: Variant;
end;
When I add extra element to this record (eg. test: Variant) just to change TLocalMDLink size everything works fine, it means that I don't see the side affect of not terminating threads.
In my opinion it could be some bug in SetLocalMDLinks function that spoils memory, but I can't prepare small demo application because I can't reproduce this side effect.
Can You do some code review and recheck this piece of code?
Best Regards,
Macma
Strange behavior after upgrade to 6.2.8
Re: Strange behavior after upgrade to 6.2.8
In IBDAC 6.2.8, we added the MasterFieldValue: Variant field to the TLocalMDLink record.
Unfortunately, we cannot reproduce the issue using the information provided by you: our tests are executed without errors and you are the only user who contacted us with a similar problem. To understand the cause of the issue, we need a test sample, in which the issue is stably reproduced. As soon as we get such a sample and if the issue cause is due to our product code, we will try to fix it in the shortest possible time.
Therefore, please compose a small sample demonstrating the described behavior and send it to us using the contact form https://devart.com/company/contactform.html including the scripts for creating database objects.
Unfortunately, we cannot reproduce the issue using the information provided by you: our tests are executed without errors and you are the only user who contacted us with a similar problem. To understand the cause of the issue, we need a test sample, in which the issue is stably reproduced. As soon as we get such a sample and if the issue cause is due to our product code, we will try to fix it in the shortest possible time.
Therefore, please compose a small sample demonstrating the described behavior and send it to us using the contact form https://devart.com/company/contactform.html including the scripts for creating database objects.
Re: Strange behavior after upgrade to 6.2.8
Hi,
I found the reason of my problem.
I use in my application DLL library that also using IBDAC, but IBDAC was statically linked into this DLL.
Despite rebuilding this DLL and all packages, executables etc. with new version of IBDAC, the problem was still persisted.
When I've change from static to dynamic link everything starts to work properly.
I wonder why this problem do not appear earlier, with previous version of IBDAC and what is bizarre in construction where Variant variable is placed in record type.
Beast Regards,
Macma
I found the reason of my problem.
I use in my application DLL library that also using IBDAC, but IBDAC was statically linked into this DLL.
Despite rebuilding this DLL and all packages, executables etc. with new version of IBDAC, the problem was still persisted.
When I've change from static to dynamic link everything starts to work properly.
I wonder why this problem do not appear earlier, with previous version of IBDAC and what is bizarre in construction where Variant variable is placed in record type.
Beast Regards,
Macma
Re: Strange behavior after upgrade to 6.2.8
As we wrote earlier, we cannot reproduce the issue using the information provided by you. To understand the cause of the issue, we need a test sample, in which the issue is stably reproduced. Therefore, please compose a small sample demonstrating the described behavior and send it to us using the contact form https://devart.com/company/contactform.html including the scripts for creating database objects.