Quote Originally Posted by hickscorp View Post
i have all this reflexion in mind already thanks. But the question wasn't about that at all. The "Wrapper" will have to do very complex things (Not only just wrapping things). Handwriting recognition, MICR reading and patterns recognition. That's why i choose Qt, because i want all my objects to be easily cross-platform...
What is the point in making cross-platform classes and mix them with WinAPI stuff in one library which depends on the Windows specific driver and library? I think that you should divide you project into two parts:
1. Your library doing all you want, like pattern recognition etc with some public pure-C++ API (you know, using std::strings, iostreams or whatever). This library will use Qt and standard C++ libraries so it would be fully cross-platform.
2. Now create wrapper for your driver and DLL which will be platform specific and will provide API that suits your previously created cross-platform library. In your case it will be written in C++ using WinAPI and will provide data for the library.

In this case new platforms and scanners will require new "wrapper" and will always use that one cross-platform library but in your solution, new scanner will require writing new library if your library has crossplatform classes but placed in one library with platform and device specific stuff...