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 CarlTrading, 03-31-2026, 09:41 PM
        1 response
        81 views
        1 like
        Last Post NinjaTrader_ChelseaB  
        Started by CarlTrading, 04-01-2026, 02:41 AM
        0 responses
        41 views
        0 likes
        Last Post CarlTrading  
        Started by CaptainJack, 03-31-2026, 11:44 PM
        0 responses
        64 views
        2 likes
        Last Post CaptainJack  
        Started by CarlTrading, 03-30-2026, 11:51 AM
        0 responses
        66 views
        0 likes
        Last Post CarlTrading  
        Started by CarlTrading, 03-30-2026, 11:48 AM
        0 responses
        54 views
        0 likes
        Last Post CarlTrading  
        Working...
        X