Welcome to the FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
Need the latest SmartSDR or 4O3A Genius Product Software?
SmartSDR v4.1.5 | SmartSDR v4.1.5 Release Notes
SmartSDR v3.10.15 | SmartSDR v3.10.15 Release Notes
The latest 4O3A Genius Product Software and Firmware
SmartSDR v4.1.5 | SmartSDR v4.1.5 Release Notes
SmartSDR v3.10.15 | SmartSDR v3.10.15 Release Notes
The latest 4O3A Genius Product Software and Firmware
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.
RadioAddedEventHandler not working ...
Gary L. Robinson
Member ✭✭
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)
{
}
}
}
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)
{
}
}
}
0
Comments
-
Check your firewall settings. If your old firewall rule was for your original app then it is for the full path.0
-
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!0
Leave a Comment
Categories
- All Categories
- 384 Community Topics
- 2.1K New Ideas
- 641 The Flea Market
- 8.3K Software
- 148 SmartSDR+
- 6.4K SmartSDR for Windows
- 188 SmartSDR for Maestro and M models
- 436 SmartSDR for Mac
- 274 SmartSDR for iOS
- 262 SmartSDR CAT
- 202 DAX
- 383 SmartSDR API
- 9.4K Radios and Accessories
- 47 Aurora
- 281 FLEX-8000 Signature Series
- 7.2K FLEX-6000 Signature Series
- 960 Maestro
- 58 FlexControl
- 866 FLEX Series (Legacy) Radios
- 935 Genius Products
- 466 Power Genius XL Amplifier
- 343 Tuner Genius XL
- 126 Antenna Genius
- 306 Shack Infrastructure
- 215 Networking
- 464 Remote Operation (SmartLink)
- 144 Contesting
- 798 Peripherals & Station Integration
- 142 Amateur Radio Interests
- 1K Third-Party Software
