RadioAddedEventHandler not working ...

  • 1
  • Problem
  • Updated 1 week ago
I have made four or five small form based client programs for my Flex 6400 SDR Radio with SmartSDR 2.4.9 on it.  I use Microsoft Visual Studio 2017.  I have always used the same simple code (below) to detect the radio and connect to it. 

But this code (below) does not work now when I start making a new cllient.  

The clients I already have made and are still installed (manually) STILL work with NO problems.  However, if I move the program files to another folder location - they stop working.  

The reason they don't work is because the API.RadioAddedEventHandler is NEVER fired.  It never gets the message from the radio.

This makes me think it may be some security issue caused by Windows 10 - or It might be some changes in the latest FlexLib code that I use.  I always keep up with latest FlexLib.  However, it seems to me that Windows 10 is a more likely culprit.

I do NOT use ANY virus or security software - except that which Windows 10 has included with it.  

Any ideas or suggestions would be welcome.

---Gary WB8ROL

----------------------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Flex.Smoothlake.FlexLib;
using Flex.UiWpfFramework;
using System.Net.Sockets;
using System.Net;
using System.Threading;
using System.IO;
using System.Globalization;

namespace RecSlice
{
    public partial class Form1 : Form
    {
        public Radio curRadio = null;
        public Panadapter curPanadapter = null;
        public Slice curSlice = null;
        public List<Radio> clientList;
        public NumberFormatInfo nfi;

        public Form1()
        {
            InitializeComponent();
            nfi = new CultureInfo("en-US", false).NumberFormat;

            API.RadioAdded += new API.RadioAddedEventHandler(flexRadioAdded);
            API.RadioRemoved += new API.RadioRemovedEventHandler(flexRadioRemoved);

            API.ProgramName = "recSlice";
            API.Init();
        }

        void flexRadioAdded(Radio radio)
        {
            curRadio = radio;

            if (radio.Connect())
            {
                radio.SliceAdded += new Flex.Smoothlake.FlexLib.Radio.SliceAddedEventHandler(radio_SliceAdded);   //.SliceAddedEventHandler(radio_SliceAdded);
                radio.SliceRemoved += new Radio.SliceRemovedEventHandler(radio_SliceRemoved);
                radio.PanadapterAdded += new Radio.PanadapterAddedEventHandler(radio_PanadapterAdded);
                radio.PanadapterRemoved += new Radio.PanadapterRemovedEventHandler(radio_PanadapterRemoved);
                radio.PropertyChanged += new PropertyChangedEventHandler(radio_PropertyChanged);
            }
        }

        void flexRadioRemoved(Radio radio)
        {
        }

        void radio_SliceAdded(Slice slice)
        {
        }

        void radio_SliceRemoved(Slice slice)
        {
        }

        void radio_PanadapterAdded(Panadapter panadapter, Waterfall waterfall)
        {
        }

        void radio_PanadapterRemoved(Panadapter panadapter)
        {
        }

        void radio_PropertyChanged(object obj, PropertyChangedEventArgs args)
        {
        }



        //***************
        //Windows Events
        //***************

        private void Form1_Load(object sender, EventArgs e)
        {
            CheckForIllegalCrossThreadCalls = false;
        }

        private void Form1_Shown(object sender, EventArgs e)
        {

        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {

        }

        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {

        }
    }
}
Photo of Gary L. Robinson

Gary L. Robinson

  • 248 Posts
  • 48 Reply Likes

Posted 1 week ago

  • 1
Photo of Mark - W3II

Mark - W3II

  • 135 Posts
  • 33 Reply Likes
Check your firewall settings. If your old firewall rule was for your original app then it is for the full path.
Photo of Gary L. Robinson

Gary L. Robinson

  • 248 Posts
  • 48 Reply Likes
Mark,

If I had a million dollars I would send it to you!!  It was the firewall!  I just turned the WIndows firewall OFF - not sure if there is a more simple solution.  My router firewall is good enough.

Again, thanks very much.  It just makes me wish even harder that FlexLib was available on Linux hihi

---Gary!