经分析和测试,巴斯勒相机的注册回调的参数回影响相机控制类的的析构函数的调用次数。
bCam[camIndex].RegisterImageEventHandler(this, Pylon::RegistrationMode_Append, Pylon::Cleanup_None);
注册相机回调函数的RegisterImageEventHandler注册时,其使用第三个参数是Cleanup_Delete、Ownership_TakeOwnership的时候,会造成相机控制类函数的析构函数的多次调用,Cleanup_None、Ownership_ExternalOwnership使用则不会造成次问题。
Cleanup_None , ///& lt;调用者负责删除传递的对象。删除前需要对该对象进行分离或注销。
Cleanup_Delete , ///& lt;如果不再需要传递的对象,则删除它。
Ownership_ExternalOwnership = Cleanup_None, ///<不赞成:使用Cleanup_None代替。
Ownership_TakeOwnership = Cleanup_Delete ///<弃用:使用Cleanup_Delete代替。