edimetia3d / OPC-Client-X64

An open source OPC DA Client SDK/ToolKit written in C++, support both 32 bit and 64 bit.
GNU Lesser General Public License v3.0
132 stars 74 forks source link

Implement a new transactions map to fix address issue #14

Closed edimetia3d closed 3 years ago

edimetia3d commented 3 years ago

Comes from here: https://github.com/edimetia3d/OPC-Client-X64/issues/1#issuecomment-921524507

Hi guys, am using your OPC-Client SDK since about 10 years as part of our own software package for industrial controls, so I already know it quite well. Recently I also had to port our software to 64-bit, and came across similar issues as you've been facing. So after I've found out you're also working on this I just took your latest version from git (via git clone) and adapted it to my current software, and then fixed it, in the right way, so no "/HIGHENTROPYVA:NO" or alike, but all with a new transactions map, and by extending the already existing items map. Which means now handles are really handles, and not addresses anymore. Am using Qt as toolchain, and now your SDK compiles and runs properly under 32 and 64 bit, and with or without UNICODE. And both Qt5 and Qt6, and from on msvc2010 until msvc2019. Am using cmake instead of qmake, so I didn't care much about it. Am also using your SDK as one of about 10 libraries, fixed the Microsoft declarations etc., but else exactly with the revamped project you've provided. So in case anybody is interested, here is a Dropbox link to a .7z with my whole SDK folder: https://www.dropbox.com/s/uc9a8p6cnej0jqs/OPC-Client-X64.7z?dl=0

close #1