I'm working on a database project using Delphi 10S Update 1.
The database I'm using is ElevateDB, which is written with Delphi. I licensed
the ElevateDB VCL Standard version without source code back in 2011 and
maintain my annual subscription. I'm very happy with this product.
I ran into an issue where inside the IDE both the 32-bit and
64-bit platforms display data in a grid when all the components are connected
and active. However, when I run the application the 32-bit version works great
but the 64-bit version gives me an Access Violation.
I read that the initial Delphi 10S had a problem with the 64-bit
compiler. I figured that since I upgraded to Delphi 10S Update 1, I didn't have
an issue with the 64-bit version of the compiler.
What I failed to realize and only realized after three or
four days of frantic postings on the ElevateDB support form, was I was using
compiled DCU's. These DCU's, both 32-bit and 64-bit versions, were compiled
using the initial Delphi 10S release. Therefore, the 64-bit DCU's were built
with the initial flawed Delphi 10S 64-bit compiler.
Shame on me for not understanding and realizing this in the first place.
If I had, I would not have acted the way I did.
This brings me to the topic of this blog post. If I had
purchased the source code version of these components I could have simply done
a build all and the problem would have been solved. I don't remember my reason
for not purchasing the source code version. Perhaps it was the added expense.
Perhaps it was my thinking "I'm never going to monkey with the code and
didn't need it".
The thought never entered my mind that I could wind up with
flawed DCU's because they were built with a flawed Delphi compiler.
Lesson Learned!
Semper Fi,
Gunny Mike
No comments:
Post a Comment