|
Impact Acquire SDK Java
|
When operated within the same process depending on the order the frameworks are initialized either Impact Acquire or the 3rd party framework doesn't seem to detect all GenICam™ compliant devices present in the system.
This most likely is due to the fact that a GenICam™ GenTL Producer can only be initialized once per process. This is how the GenICam™ GenTL standard defines it and producers behaving differently wouldn't pass compliance tests. Since Impact Acquire 2.32.0 every GenTL producer detected on the system will be loaded in order to allow to work with a wider variety of devices. See Using Third Party GenICam™ GenTL Producers for details. When an application now uses both the Impact Acquire API and another framework that internally also comes with a library loading properly registered producers, depending on which framework is called first the other framework might no longer be capable to enumerate devices.
Identify which other framework together with Impact Acquire is responsible for the behaviour. Several things can help to achieve this:
Once the other framework has been identified you can try to change the order of initialization. The other framework might also be loading producers from these paths but it is also possible that it just cares about its own producers. If that is the case tell Impact Acquire NOT to attempt to load these GenTL producers and use the devices that are accessible through these producers through the other framework: How To Ignore A Particular Producer. If the other framework is also loading every producer you can try to rewrite your application to work with a single framework only or you might want to get in touch with the vendor of the third party framework. There might be something similar to the How To Ignore A Particular Producer approach.