Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

System.ArgumentNullException - what mean?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    System.ArgumentNullException - what mean?

    What cause this error "Value cannot be null"?
    Indicator starts working ok and suddenly it stops...
    Last edited by buildorbust; 07-20-2020, 09:28 AM.

    #2
    Hello buildorbust,

    Thank you for your post.

    Subscribing to UI events outside of the UI thread can result in the handler being null and an exception being thrown.

    For example, this might trigger the above error:

    Code:
    this.ChartControl.KeyUp += new KeyEventHandler(KeyUpEventHandler);
    this.ChartControl.KeyDown += new KeyEventHandler(KeyDownEventHandler);
    this.ChartControl.MouseUp += new MouseButtonEventHandler(MouseUpEventHandler);
    this.ChartControl.PreviewMouseDown += new MouseButtonEventHandler(MouseDownEventHandler);
    this.ChartControl.MouseMove += new MouseEventHandler(MouseMoveEventHandler);
    this.ChartPanel.MouseDoubleClick += new MouseButtonEventHandler(MouseDoubleClickEventHandler);
    To fix this, the indicator would need to use a dispatcher for those UI events:

    Code:
    ChartControl.Dispatcher.InvokeAsync(new Action(() => {
    this.ChartControl.KeyUp += new KeyEventHandler(KeyUpEventHandler);
    this.ChartControl.KeyDown += new KeyEventHandler(KeyDownEventHandler);
    this.ChartControl.MouseUp += new MouseButtonEventHandler(MouseUpEventHandler);
    this.ChartControl.PreviewMouseDown += new MouseButtonEventHandler(MouseDownEventHandler);
    this.ChartControl.MouseMove += new MouseEventHandler(MouseMoveEventHandler);
    this.ChartPanel.MouseDoubleClick += new MouseButtonEventHandler(MouseDoubleClickEventHandler);
    }));
    If this is an indicator you've created, please make sure you're using a dispatcher for UI events.

    Please let us know if we may be of further assistance to you.

    Comment


      #3
      mybox is ComboBox

      this cause exception?
      mybox.KeyDown += OnKeyDown;

      correct way is:
      mybox.KeyDown += new KeyEventHandler(this, OnKeyDown);
      ?

      Comment


        #4
        Hello buildorbust,

        Thank you for your reply.

        The error is because you're not wrapping that in a dispatcher. Please see the following page of our help guide for further information regarding using a dispatcher when you are adding UI elements or subscribing to UI events:



        Please let us know if we may be of further assistance to you.

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by charlesugo_1, 05-26-2026, 05:03 PM
        0 responses
        70 views
        0 likes
        Last Post charlesugo_1  
        Started by DannyP96, 05-18-2026, 02:38 PM
        1 response
        152 views
        0 likes
        Last Post NinjaTrader_ChelseaB  
        Started by CarlTrading, 05-11-2026, 05:56 AM
        0 responses
        162 views
        0 likes
        Last Post CarlTrading  
        Started by CarlTrading, 05-10-2026, 08:12 PM
        0 responses
        100 views
        0 likes
        Last Post CarlTrading  
        Started by Hwop38, 05-04-2026, 07:02 PM
        0 responses
        288 views
        0 likes
        Last Post Hwop38
        by Hwop38
         
        Working...
        X