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 Geovanny Suaza, 02-11-2026, 06:32 PM
        0 responses
        636 views
        0 likes
        Last Post Geovanny Suaza  
        Started by Geovanny Suaza, 02-11-2026, 05:51 PM
        0 responses
        366 views
        1 like
        Last Post Geovanny Suaza  
        Started by Mindset, 02-09-2026, 11:44 AM
        0 responses
        107 views
        0 likes
        Last Post Mindset
        by Mindset
         
        Started by Geovanny Suaza, 02-02-2026, 12:30 PM
        0 responses
        568 views
        1 like
        Last Post Geovanny Suaza  
        Started by RFrosty, 01-28-2026, 06:49 PM
        0 responses
        571 views
        1 like
        Last Post RFrosty
        by RFrosty
         
        Working...
        X