2013-02-26 3 views
1

Microsoft Surface Table (현재 PixelSense라고 함) 용 멀티 터치 응용 프로그램을 개발 중입니다. 표면 표에서 응용 프로그램을 실행할 때 가끔 이상한 예외가 발생하지만 데스크톱 컴퓨터에서는 실행되지 않습니다.응용 프로그램이 표면 태블릿에서 충돌하지만 일반 데스크톱에서는 작동하지 않습니다.

Object reference not set to an instance of an object.;; 
    at System.Windows.Input.StylusDevice.ChangeStylusOver(IInputElement stylusOver) 
    at System.Windows.Input.StylusLogic.SelectStylusDevice(StylusDevice stylusDevice, IInputElement newOver, Boolean updateOver) 
    at System.Windows.Input.StylusLogic.PreNotifyInput(Object sender, NotifyInputEventArgs e) 
    at System.Windows.Input.InputManager.ProcessStagingArea() 
    at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) 
    at System.Windows.Input.StylusLogic.InputManagerProcessInput(Object oInput) 
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 
    at System.Windows.Threading.DispatcherOperation.InvokeImpl() 
    at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) 
    at System.Threading.ExecutionContext.runTryCode(Object userData) 
    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) 
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
    at System.Windows.Threading.DispatcherOperation.Invoke() 
    at System.Windows.Threading.Dispatcher.ProcessQueue() 
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) 
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 
    at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) 
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) 
    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) 
    at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) 
    at System.Windows.Application.RunDispatcher(Object ignore) 
    at System.Windows.Application.RunInternal(Window window) 
    at System.Windows.Application.Run(Window window) 
    at System.Windows.Application.Run() 
    at Client.App.Main() in C:\WorkingFolders\CAD\CAD\src\trunk\ClientServer\CADClient\obj\x86\Debug\App.g.cs:line 0 

누구나 생각하는 이유가 있습니다 : 항상은 아니지만 ...

예외

- 내가 응용 프로그램을 시작하고 SurfaceWindow를 입력 한 후 바로됩니까?

답변

0

응용 프로그램이 시작될 때 정확히 무슨 일이 일어나는지 확인해보십시오. 내 생각 엔 일부 이벤트 핸들러는 아직 생성되지 않은 객체에 대한 참조가 있지만 코드없이 확인하기는 어렵습니다.