USB to Serial ports.

John,



   I use Async32 for several years now.   I haven't had any problem reading comm ports of USB adapters, even through a hub.   Just finished an application and test fixture for communicating with 8 and 16 serial devices.



   The trick is getting the component to tell you what ports are available.



TComboBox      PortComboBox;

TVaComm             CommPort;



void __fastcall TForm1::PortComboBoxDropDown(TObject Sender)

{

     TStringList
tslAvailablePorts = new TStringList();





     //... Clear the existing List

     PortComboBox->Items->Clear();



     CommPort->GetComPortNames(tslAvailablePorts);

     PortComboBox->Items->AddStrings(tslAvailablePorts);

}



void __fastcall TForm1::PortComboBoxChange(TObject *Sender)

{

     CommPort->DeviceName = PortComboBox->Text;

     CommPort->Baudrate = br115200;

     CommPort->Databits = db8;

     CommPort->Parity = paNone;

     CommPort->Stopbits = sb1;





     //... Try to open the comm port

     try

     {

          CommPort->Open();

     }

     catch (...)

     {

          StatusEdit->Text = CommPort->DeviceName + " in use!";

          StatusEdit->Color = clYellow;

     }

}



The above code functions may not be exactly what you want, but demonstrate how to select available comm ports, including the extended ones. This works for me through USB Hubs and USB to TTL adapters.



Steve O.