mobile CCTV,mobile surveillance,police body worn cameras

 forgetPW
 registerNow
search
view: 1183|reply: 2
打印 prevThread nextThread

紧急!C#集成视频Dll后,安装到其它电脑后,打开视频时报错

[copyURL]

3

主题

12

帖子

39

积分

newBie

Rank: 1

积分
39
jumpTo
owner
poston 2017-7-4 10:14 | authorOnly 回帖奖励 |倒序浏览 |阅读模式
紧急 紧急 紧急 紧急 紧急!
C#集成视频Dll后,在开发人员的电脑上可以正常浏览视频,但安装到其它电脑后,打开视频时报错,今天上午需要去客户地演示,求解求解!

进入系统日志查看,错误如下:
应用程序: MUavRemoteMonitorPlatform.exe
Framework 版本: v4.0.30319
说明: 由于未经处理的异常,进程终止。
异常信息: System.NullReferenceException
   在 AircraftVideos.UAVVideo.OpenVideo(System.String, System.String, System.String)
   在 MUavRemoteMonitorPlatform.UserControlFile.UCFlyData.MenuItem_Click(System.Object, System.Windows.RoutedEventArgs)
   在 System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
   在 System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
   在 System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
   在 System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)
   在 System.Windows.Controls.MenuItem.InvokeClickAfterRender(System.Object)
   在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   在 System.Windows.Threading.DispatcherOperation.InvokeImpl()
   在 System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   在 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   在 MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   在 System.Windows.Threading.DispatcherOperation.Invoke()
   在 System.Windows.Threading.Dispatcher.ProcessQueue()
   在 System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   在 MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   在 MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   在 System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   在 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   在 MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   在 System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   在 System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   在 System.Windows.Application.RunDispatcher(System.Object)
   在 System.Windows.Application.RunInternal(System.Windows.Window)
   在 System.Windows.Application.Run(System.Windows.Window)
   在 MUavRemoteMonitorPlatform.App.Main()相关的视频需要的Dll也在存在于安装目录:





以下为打开视频的代码:
public void OpenVideo(string deviceid,string channel,string txtInfo)
        {
            Pu pu = m_sdkOperator.Session.getPu(deviceid);
            int channelNo = pu.getChannelNo(channel);


            if (channelNo >= BVCU.BVCU_SUBDEV_INDEXMAJOR_MIN_CHANNEL && channelNo < BVCU.BVCU_SUBDEV_INDEXMAJOR_MAX_CHANNEL)
            {
                //m_sdkOperator.Dialog.openBrowse(pu, channelNo, panelVideo);
                if (m_sdkOperator.Dialog.Count == 16)
                {
                    MessageBox.Show("窗口已全部占用");
                    return;
                }
                //multiWindow.monitor[multiWindow.CurrentMonitor].pictureBox1.ContextMenuStrip = contextMenuStripVideo;
                //打开浏览*******************************************************************
                m_sdkOperator.Dialog.openBrowse(pu, channelNo, multiWindow.monitor[multiWindow.CurrentMonitor].picBox,txtInfo);
            }


            //multiWindow.monitor[multiWindow.CurrentMonitor].picBox.Invalidate();
        }


本帖子中包含更多资源

pls login 才可以下载或查看,没有帐号?registerNow

x
reply

使用道具 report

0

主题

31

帖子

126

积分

member

Rank: 2

积分
126
sofa
poston 2017-7-4 10:28 | authorOnly
看了下调用栈,是应用层的一处空引用引起的异常,并不是我们的库程序。请逐步排查应用程序中接口调用的参数安全性。另外发布到其他电脑时,请编译发布版本,有的电脑缺少调试版本的库
reply agree Against

使用道具 report

3

主题

12

帖子

39

积分

newBie

Rank: 1

积分
39
bench
 Owner| poston 2017-7-4 10:37 | authorOnly
我们尝试排除过了,我只要注释掉OpenVideo这个方法,就不会出错
reply agree Against

使用道具 report

creditRule

QQ|wireless surveillance

GMT+8, 2024-12-24 00:53 , Processed in 0.055667 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

QuickReply backToTop BackToList