C# 算术运算wpf中的溢出或下溢

C# 算术运算wpf中的溢出或下溢,c#,c++,wpf,mvvm,fingerprint,C#,C++,Wpf,Mvvm,Fingerprint,算术运算wpf中的溢出或下溢 尝试使用MVVM+Prism在WPF中重新创建virdiSDK示例 终端服务器已启动,但当我尝试关闭应用程序或尝试将焦点放在输入的文本框上时,算术运算中出现错误溢出或下溢 有时源代码是:windowsbase 有时是:PresentationFramework 堆叠 视图模型代码 链接到代码文件: 代码正在运行,但我无法捕获错误 [Export(typeof(IModuleNavViewModel))] [PartCreationPolicy(Creat

算术运算wpf中的溢出或下溢

尝试使用MVVM+Prism在WPF中重新创建virdiSDK示例

终端服务器已启动,但当我尝试关闭应用程序或尝试将焦点放在输入的文本框上时,算术运算中出现错误溢出或下溢

有时源代码是:windowsbase 有时是:PresentationFramework

堆叠

视图模型代码

链接到代码文件:

代码正在运行,但我无法捕获错误

 [Export(typeof(IModuleNavViewModel))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public class ModuleNavViewModel : ViewModelBase, IModuleNavViewModel
    {
        private IRegionManager _regionManager;
        IEventAggregator _eventAggregator;
        private FPTerminalActions _CurrentAction;
        public FPTerminalActions CurrentAction
        {
            get { return _CurrentAction; }
            set { _CurrentAction = value; OnPropertyChanged("CurrentAction"); }
        }

        [ImportingConstructor]
        public ModuleNavViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
            : base(regionManager, eventAggregator)
        {
            _eventAggregator = eventAggregator;
            _regionManager = regionManager;
            Categories = LoadTreeViewCategories();

            LstMessage = new List<string>();
            Message5 = "0";
            Message2 = "0";
            Message1 = "0";
            CurrentAction = new FPTerminalActions();
            RegisterCommands();
        }
        public override void RegisterCommands()
        {
            GlobalCommands.StartCommand.RegisterCommand(StartCommand);
            GlobalCommands.StopCommand.RegisterCommand(StopCommand);
        }
        private object DllImport(string p)
        {
            throw new NotImplementedException();
        }
        public override bool CanStart()
        {
            return true;
        }
        public override bool CanStop()
        {
            return true;
        }
        private bool IsServerRunning = false;
        [DllImport("msvcr71.dll", CallingConvention = CallingConvention.Cdecl)]
        public static extern int _fpreset();
        public override void Start()
        {
            _fpreset();
            if (!IsServerRunning)
            {
                IntializeDevice();
                IsServerRunning = true;
            }
            ucsAPI.ServerStart(255, 9870);
            LstMessage.Clear();
        }
        public override void Stop()
        {
            ucsAPI = null;
            ucBioBSP = null;
            LstMessage.Clear();
        }

        private void IntializeDevice()
        {
            // create UCSAPI Instance
            ucsAPI = new UCSAPIClass();
            serveruserData = ucsAPI.ServerUserData as IServerUserData;
            terminalUserData = ucsAPI.TerminalUserData as ITerminalUserData;
            accessLogData = ucsAPI.AccessLogData as IAccessLogData;
            serverAuthentication = ucsAPI.ServerAuthentication as IServerAuthentication;

            // create UCBioBSP Instance
            ucBioBSP = new UCBioBSPClass();
            fpData = ucBioBSP.FPData as IFPData;
            device = this.ucBioBSP.Device as IDevice;
            extraction = this.ucBioBSP.Extraction as IExtraction;

            //terminalID = txtTerminalID.Text;

            // create event handle
            ucsAPI.EventTerminalConnected += new _DIUCSAPIEvents_EventTerminalConnectedEventHandler(UCSCOMObj_EventTerminalConnected);
            ucsAPI.EventTerminalDisconnected += new _DIUCSAPIEvents_EventTerminalDisconnectedEventHandler(UCSCOMObj_EventTerminalDisconnected);
            ucsAPI.EventAddUser += new _DIUCSAPIEvents_EventAddUserEventHandler(ucsAPI_EventAddUser);
            ucsAPI.EventAntipassback += new _DIUCSAPIEvents_EventAntipassbackEventHandler(ucsAPI_EventAntipassback);
            ucsAPI.EventAuthTypeWithUniqueID += new _DIUCSAPIEvents_EventAuthTypeWithUniqueIDEventHandler(ucsAPI_EventAuthTypeWithUniqueID);
            ucsAPI.EventAuthTypeWithUserID += new _DIUCSAPIEvents_EventAuthTypeWithUserIDEventHandler(ucsAPI_EventAuthTypeWithUserID);
            ucsAPI.EventControlPeripheralDevice += new _DIUCSAPIEvents_EventControlPeripheralDeviceEventHandler(ucsAPI_EventControlPeripheralDevice);
            ucsAPI.EventDeleteAllUser += new _DIUCSAPIEvents_EventDeleteAllUserEventHandler(ucsAPI_EventDeleteAllUser);
            ucsAPI.EventDeleteUser += new _DIUCSAPIEvents_EventDeleteUserEventHandler(ucsAPI_EventDeleteUser);
            ucsAPI.EventFingerImageData += new _DIUCSAPIEvents_EventFingerImageDataEventHandler(ucsAPI_EventFingerImageData);
            ucsAPI.EventFirmwareUpgraded += new _DIUCSAPIEvents_EventFirmwareUpgradedEventHandler(ucsAPI_EventFirmwareUpgraded);
            ucsAPI.EventFirmwareUpgrading += new _DIUCSAPIEvents_EventFirmwareUpgradingEventHandler(ucsAPI_EventFirmwareUpgrading);
            ucsAPI.EventFirmwareVersion += new _DIUCSAPIEvents_EventFirmwareVersionEventHandler(ucsAPI_EventFirmwareVersion);
            ucsAPI.EventGetAccessLog += new _DIUCSAPIEvents_EventGetAccessLogEventHandler(ucsAPI_EventGetAccessLog);
            ucsAPI.EventGetAccessLogCount += new _DIUCSAPIEvents_EventGetAccessLogCountEventHandler(ucsAPI_EventGetAccessLogCount);
            ucsAPI.EventGetTAFunction += new _DIUCSAPIEvents_EventGetTAFunctionEventHandler(ucsAPI_EventGetTAFunction);
            ucsAPI.EventGetUserCount += new _DIUCSAPIEvents_EventGetUserCountEventHandler(ucsAPI_EventGetUserCount);
            ucsAPI.EventGetUserData += new _DIUCSAPIEvents_EventGetUserDataEventHandler(ucsAPI_EventGetUserData);
            ucsAPI.EventGetUserInfoList += new _DIUCSAPIEvents_EventGetUserInfoListEventHandler(ucsAPI_EventGetUserInfoList);
            ucsAPI.EventOpenDoor += new _DIUCSAPIEvents_EventOpenDoorEventHandler(ucsAPI_EventOpenDoor);
            ucsAPI.EventPictureLog += new _DIUCSAPIEvents_EventPictureLogEventHandler(ucsAPI_EventPictureLog);
            ucsAPI.EventRealTimeAccessLog += new _DIUCSAPIEvents_EventRealTimeAccessLogEventHandler(ucsAPI_EventRealTimeAccessLog);
            ucsAPI.EventSetAccessControlData += new _DIUCSAPIEvents_EventSetAccessControlDataEventHandler(ucsAPI_EventSetAccessControlData);
            ucsAPI.EventSetTAFunction += new _DIUCSAPIEvents_EventSetTAFunctionEventHandler(ucsAPI_EventSetTAFunction);
            ucsAPI.EventSetTATime += new _DIUCSAPIEvents_EventSetTATimeEventHandler(ucsAPI_EventSetTATime);
            ucsAPI.EventTerminalStatus += new _DIUCSAPIEvents_EventTerminalStatusEventHandler(ucsAPI_EventTerminalStatus);
            ucsAPI.EventVerifyCard += new _DIUCSAPIEvents_EventVerifyCardEventHandler(ucsAPI_EventVerifyCard);
            ucsAPI.EventVerifyFinger1to1 += new _DIUCSAPIEvents_EventVerifyFinger1to1EventHandler(ucsAPI_EventVerifyFinger1to1);
            ucsAPI.EventVerifyFinger1toN += new _DIUCSAPIEvents_EventVerifyFinger1toNEventHandler(ucsAPI_EventVerifyFinger1toN);
            ucsAPI.EventVerifyPassword += new _DIUCSAPIEvents_EventVerifyPasswordEventHandler(ucsAPI_EventVerifyPassword);
            ucsAPI.EventPrivateMessage += new _DIUCSAPIEvents_EventPrivateMessageEventHandler(ucsAPI_EventPrivateMessage);
            ucsAPI.EventPublicMessage += new _DIUCSAPIEvents_EventPublicMessageEventHandler(ucsAPI_EventPublicMessage);
            ucsAPI.EventUserFileUpgrading += new _DIUCSAPIEvents_EventUserFileUpgradingEventHandler(ucsAPI_EventUserFileUpgrading);
            ucsAPI.EventUserFileUpgraded += new _DIUCSAPIEvents_EventUserFileUpgradedEventHandler(ucsAPI_EventUserFileUpgraded);

            ucBioBSP.OnCaptureEvent += new _IUCBioBSPEvents_OnCaptureEventEventHandler(ucBioBSP_OnCaptureEvent);
            ucBioBSP.OnEnrollEvent += new _IUCBioBSPEvents_OnEnrollEventEventHandler(ucBioBSP_OnEnrollEvent);

            //InitListview();
            //InitCommandList();

            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
        }
        void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            //MessageBox.Show(e.Exception.ToString());
        }
[导出(typeof(IModuleNavViewModel))]
[PartCreationPolicy(CreationPolicy.Shared)]
公共类ModuleNavViewModel:ViewModelBase,IModuleNavViewModel
{
私有IRegionManager(区域管理器);
事件聚合器;
私有FPTerminalActions\u CurrentAction;
公共FPTerminalActions当前操作
{
获取{return\u CurrentAction;}
设置{u CurrentAction=value;OnPropertyChanged(“CurrentAction”);}
}
[导入构造函数]
公共模块AVVIEWMODEL(IRegionManager区域管理器、IEventAggregator事件聚合器)
:base(regionManager、eventAggregator)
{
_eventAggregator=eventAggregator;
_regionManager=regionManager;
类别=LoadTreeViewCategories();
LstMessage=新列表();
Message5=“0”;
Message2=“0”;
Message1=“0”;
CurrentAction=新的FPTerminalActions();
注册表命令();
}
公共覆盖无效注册表命令()
{
GlobalCommand.StartCommand.RegisterCommand(StartCommand);
globalCommand.StopCommand.RegisterCommand(StopCommand);
}
私有对象DllImport(字符串p)
{
抛出新的NotImplementedException();
}
公共覆盖bool CanStart()
{
返回true;
}
公共覆盖bool CanStop()
{
返回true;
}
private bool IsServerRunning=false;
[DllImport(“msvcr71.dll”,CallingConvention=CallingConvention.Cdecl)]
公共静态外部int_fpreset();
公共覆盖无效开始()
{
_fpreset();
如果(!IsServerRunning)
{
初始化设备();
IsServerRunning=true;
}
ucsAPI.ServerStart(2559870);
LstMessage.Clear();
}
公共覆盖无效停止()
{
ucsAPI=null;
ucBioBSP=null;
LstMessage.Clear();
}
私有无效初始化设备()
{
//创建UCSAPI实例
ucsAPI=新的UCSAPIClass();
serveruserData=ucsAPI.serveruserData作为IServerUserData;
terminalUserData=ucsAPI.terminalUserData作为ITerminalUserData;
accessLogData=ucsAPI.accessLogData作为IAccessLogData;
serverAuthentication=ucsAPI.serverAuthentication作为IServerAuthentication;
//创建UCBioBSP实例
ucBioBSP=新的ucBioBSP类();
fpData=ucBioBSP.fpData作为IFPData;
设备=此.ucBioBSP.device作为IDevice;
提取=this.ucBioBSP.extraction作为IEextraction;
//terminalID=txtTerminalID.Text;
//创建事件句柄
ucsAPI.EventTerminalConnected+=新的_DIUCSAPIEvents_EventTerminalConnectedEventHandler(UCSCOMObj_EventTerminalConnected);
ucsAPI.EventTerminalDisconnected+=新的_DIUCSAPIEvents_EventTerminalDisconnectedEventHandler(UCSCOMObj_EventTerminalDisconnected);
ucsAPI.EventAddUser+=新的_DIUCSAPIEvents\u EventAddUserEventHandler(ucsAPI\u EventAddUser);
ucsAPI.EventAntipassback+=新的_DIUCSAPIEvents_EventAntipassbackEventHandler(ucsAPI_EventAntipassback);
ucsAPI.EventAuthTypeWithUniqueID+=新的_DIUCSAPIEvents_EventAuthTypeWithUniqueIDEventHandler(ucsAPI_EventAuthTypeWithUniqueID);
ucsAPI.EventAuthTypeWithUserID+=新的_DIUCSAPIEvents_EventAuthTypeWithUserIDEventHandler(ucsAPI_EventAuthTypeWithUserID);
ucsAPI.EventControlPeripheralDevice+=新的_DIUCSAPIEvents_EventControlPeripheralDeviceEventHandler(ucsAPI_EventControlPeripheralDevice);
ucsAPI.eventdeleteAluser+=新的_DIUCSAPIEvents_eventdeleteAluserEventHandler(ucsAPI_eventdeleteAluser);
ucsAPI.EventDeleteUser+=新的_DIUCSAPIEvents_EventDeleteUserEventHandler(ucsAPI_EventDeleteUser);
ucsAPI.EventFingerImageData+=新的_DIUCSAPIEvents_EventFingerImageDataEventHandler(ucsAPI_EventFingerImageData);
ucsAPI.EventFirmwareUpgraded+=新的_DIUCSAPIEvents_EventFirmwareUpgradedEventHandler(ucsAPI_EventFirmwareUpgraded);
ucsAPI.EventFirmwareUpgrading+=新的_DIUCSAPIEvents_EventFirmwareUpgradingEventHandler(ucsAPI_EventFirmwareUpgrading);
ucsAPI.EventFirmwareVersion+=新的_DIUCSAPIEvents_EventFirmwareVersionEventHandler(ucsAPI_EventFirmwareVersion);
ucsAPI.EventGetAccessLog+=新的_DIUCSAPIEvents_EventGetAccessLogEventHandler(ucsAPI_EventGetAccessLog);
ucsAPI.EventGetAccessLogCount+=新的_DIUCSAPIEvents_EventGetAccessLogCountEventHandler(ucsAPI_EventGetAccessLogCount);
ucsAPI.EventGetTAFunction+=新的_DIUCSAPIEvents_EventGetTAFunctionEventHandler(ucsAPI_EventGetTAFunction);
ucsAPI.EventGetUserCount+=新的_DIUCSAPIEvents_EventGetUserCountEventHandler(ucsAPI_EventGetUserCount);
ucsAPI.EventGetUserData+=新的_DIUCSAPIEvents_EventGetUserDataEventHandler(ucsAPI_EventGetUserData);
ucsAPI.EventGetUserInfoList+=新的_DIUCSAPIEvents_eventgetuserinfolistedventhandler(ucsAPI_EventGetUserInfoList);
ucsAPI.EventOpenDoor+=新的_DIUCSAPIEvents_EventOpenDoor事件处理器(ucsAPI_EventOpenDoor);
 [Export(typeof(IModuleNavViewModel))]
    [PartCreationPolicy(CreationPolicy.Shared)]
    public class ModuleNavViewModel : ViewModelBase, IModuleNavViewModel
    {
        private IRegionManager _regionManager;
        IEventAggregator _eventAggregator;
        private FPTerminalActions _CurrentAction;
        public FPTerminalActions CurrentAction
        {
            get { return _CurrentAction; }
            set { _CurrentAction = value; OnPropertyChanged("CurrentAction"); }
        }

        [ImportingConstructor]
        public ModuleNavViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
            : base(regionManager, eventAggregator)
        {
            _eventAggregator = eventAggregator;
            _regionManager = regionManager;
            Categories = LoadTreeViewCategories();

            LstMessage = new List<string>();
            Message5 = "0";
            Message2 = "0";
            Message1 = "0";
            CurrentAction = new FPTerminalActions();
            RegisterCommands();
        }
        public override void RegisterCommands()
        {
            GlobalCommands.StartCommand.RegisterCommand(StartCommand);
            GlobalCommands.StopCommand.RegisterCommand(StopCommand);
        }
        private object DllImport(string p)
        {
            throw new NotImplementedException();
        }
        public override bool CanStart()
        {
            return true;
        }
        public override bool CanStop()
        {
            return true;
        }
        private bool IsServerRunning = false;
        [DllImport("msvcr71.dll", CallingConvention = CallingConvention.Cdecl)]
        public static extern int _fpreset();
        public override void Start()
        {
            _fpreset();
            if (!IsServerRunning)
            {
                IntializeDevice();
                IsServerRunning = true;
            }
            ucsAPI.ServerStart(255, 9870);
            LstMessage.Clear();
        }
        public override void Stop()
        {
            ucsAPI = null;
            ucBioBSP = null;
            LstMessage.Clear();
        }

        private void IntializeDevice()
        {
            // create UCSAPI Instance
            ucsAPI = new UCSAPIClass();
            serveruserData = ucsAPI.ServerUserData as IServerUserData;
            terminalUserData = ucsAPI.TerminalUserData as ITerminalUserData;
            accessLogData = ucsAPI.AccessLogData as IAccessLogData;
            serverAuthentication = ucsAPI.ServerAuthentication as IServerAuthentication;

            // create UCBioBSP Instance
            ucBioBSP = new UCBioBSPClass();
            fpData = ucBioBSP.FPData as IFPData;
            device = this.ucBioBSP.Device as IDevice;
            extraction = this.ucBioBSP.Extraction as IExtraction;

            //terminalID = txtTerminalID.Text;

            // create event handle
            ucsAPI.EventTerminalConnected += new _DIUCSAPIEvents_EventTerminalConnectedEventHandler(UCSCOMObj_EventTerminalConnected);
            ucsAPI.EventTerminalDisconnected += new _DIUCSAPIEvents_EventTerminalDisconnectedEventHandler(UCSCOMObj_EventTerminalDisconnected);
            ucsAPI.EventAddUser += new _DIUCSAPIEvents_EventAddUserEventHandler(ucsAPI_EventAddUser);
            ucsAPI.EventAntipassback += new _DIUCSAPIEvents_EventAntipassbackEventHandler(ucsAPI_EventAntipassback);
            ucsAPI.EventAuthTypeWithUniqueID += new _DIUCSAPIEvents_EventAuthTypeWithUniqueIDEventHandler(ucsAPI_EventAuthTypeWithUniqueID);
            ucsAPI.EventAuthTypeWithUserID += new _DIUCSAPIEvents_EventAuthTypeWithUserIDEventHandler(ucsAPI_EventAuthTypeWithUserID);
            ucsAPI.EventControlPeripheralDevice += new _DIUCSAPIEvents_EventControlPeripheralDeviceEventHandler(ucsAPI_EventControlPeripheralDevice);
            ucsAPI.EventDeleteAllUser += new _DIUCSAPIEvents_EventDeleteAllUserEventHandler(ucsAPI_EventDeleteAllUser);
            ucsAPI.EventDeleteUser += new _DIUCSAPIEvents_EventDeleteUserEventHandler(ucsAPI_EventDeleteUser);
            ucsAPI.EventFingerImageData += new _DIUCSAPIEvents_EventFingerImageDataEventHandler(ucsAPI_EventFingerImageData);
            ucsAPI.EventFirmwareUpgraded += new _DIUCSAPIEvents_EventFirmwareUpgradedEventHandler(ucsAPI_EventFirmwareUpgraded);
            ucsAPI.EventFirmwareUpgrading += new _DIUCSAPIEvents_EventFirmwareUpgradingEventHandler(ucsAPI_EventFirmwareUpgrading);
            ucsAPI.EventFirmwareVersion += new _DIUCSAPIEvents_EventFirmwareVersionEventHandler(ucsAPI_EventFirmwareVersion);
            ucsAPI.EventGetAccessLog += new _DIUCSAPIEvents_EventGetAccessLogEventHandler(ucsAPI_EventGetAccessLog);
            ucsAPI.EventGetAccessLogCount += new _DIUCSAPIEvents_EventGetAccessLogCountEventHandler(ucsAPI_EventGetAccessLogCount);
            ucsAPI.EventGetTAFunction += new _DIUCSAPIEvents_EventGetTAFunctionEventHandler(ucsAPI_EventGetTAFunction);
            ucsAPI.EventGetUserCount += new _DIUCSAPIEvents_EventGetUserCountEventHandler(ucsAPI_EventGetUserCount);
            ucsAPI.EventGetUserData += new _DIUCSAPIEvents_EventGetUserDataEventHandler(ucsAPI_EventGetUserData);
            ucsAPI.EventGetUserInfoList += new _DIUCSAPIEvents_EventGetUserInfoListEventHandler(ucsAPI_EventGetUserInfoList);
            ucsAPI.EventOpenDoor += new _DIUCSAPIEvents_EventOpenDoorEventHandler(ucsAPI_EventOpenDoor);
            ucsAPI.EventPictureLog += new _DIUCSAPIEvents_EventPictureLogEventHandler(ucsAPI_EventPictureLog);
            ucsAPI.EventRealTimeAccessLog += new _DIUCSAPIEvents_EventRealTimeAccessLogEventHandler(ucsAPI_EventRealTimeAccessLog);
            ucsAPI.EventSetAccessControlData += new _DIUCSAPIEvents_EventSetAccessControlDataEventHandler(ucsAPI_EventSetAccessControlData);
            ucsAPI.EventSetTAFunction += new _DIUCSAPIEvents_EventSetTAFunctionEventHandler(ucsAPI_EventSetTAFunction);
            ucsAPI.EventSetTATime += new _DIUCSAPIEvents_EventSetTATimeEventHandler(ucsAPI_EventSetTATime);
            ucsAPI.EventTerminalStatus += new _DIUCSAPIEvents_EventTerminalStatusEventHandler(ucsAPI_EventTerminalStatus);
            ucsAPI.EventVerifyCard += new _DIUCSAPIEvents_EventVerifyCardEventHandler(ucsAPI_EventVerifyCard);
            ucsAPI.EventVerifyFinger1to1 += new _DIUCSAPIEvents_EventVerifyFinger1to1EventHandler(ucsAPI_EventVerifyFinger1to1);
            ucsAPI.EventVerifyFinger1toN += new _DIUCSAPIEvents_EventVerifyFinger1toNEventHandler(ucsAPI_EventVerifyFinger1toN);
            ucsAPI.EventVerifyPassword += new _DIUCSAPIEvents_EventVerifyPasswordEventHandler(ucsAPI_EventVerifyPassword);
            ucsAPI.EventPrivateMessage += new _DIUCSAPIEvents_EventPrivateMessageEventHandler(ucsAPI_EventPrivateMessage);
            ucsAPI.EventPublicMessage += new _DIUCSAPIEvents_EventPublicMessageEventHandler(ucsAPI_EventPublicMessage);
            ucsAPI.EventUserFileUpgrading += new _DIUCSAPIEvents_EventUserFileUpgradingEventHandler(ucsAPI_EventUserFileUpgrading);
            ucsAPI.EventUserFileUpgraded += new _DIUCSAPIEvents_EventUserFileUpgradedEventHandler(ucsAPI_EventUserFileUpgraded);

            ucBioBSP.OnCaptureEvent += new _IUCBioBSPEvents_OnCaptureEventEventHandler(ucBioBSP_OnCaptureEvent);
            ucBioBSP.OnEnrollEvent += new _IUCBioBSPEvents_OnEnrollEventEventHandler(ucBioBSP_OnEnrollEvent);

            //InitListview();
            //InitCommandList();

            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
        }
        void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            //MessageBox.Show(e.Exception.ToString());
        }