serielle Schnittstelle über Dialogfeld einstellen?!

michimen2000

Grünschnabel
hi!
ich habe ein kleines problem, das vermutlich gar keins ist!

und zwar habe ich ein programm, bei dem ich die serielle schnittstelle eingestellt haben muss. und damit das etwas komfortabler geht, als baudrate und parität immer im quellcode ändern zu müssen, habe ich eine dialogbox erstellt, in der man die sachen einstellen kann!

jetzt stellt sich mir die frage, wie ich die daten aus der dialogbox mit SetCommState() an die serielle schnittstelle übergeben kann.

wenn ich es nämlich mit SetCommState((HANDLE)m_hFile, &ComState) mache, krieg ich ne fehlermeldung!

kann euch ja mal den quell-code posten:


CEinstellungen Einstellungen;
DCB ComState;

if (Einstellungen.DoModal()==IDOK)
{
CClientDC dc(this);

switch(Einstellungen.m_Option_Baudrate)
{
case 0: ComState.BaudRate = CBR_9600;
break;

case 1: ComState.BaudRate = CBR_4800;
break;

case 2: ComState.BaudRate = CBR_2400;
break;

case 3: ComState.BaudRate = CBR_1200;
break;

}

switch(Einstellungen.m_Option_Parity)
{
case 0: ComState.Parity = NOPARITY;
break;

case 1: ComState.Parity = ODDPARITY;
break;

case 2: ComState.Parity = EVENPARITY;
break;

case 3: ComState.Parity = MARKPARITY;
break;

case 4: ComState.Parity = SPACEPARITY;
break;
}

switch(Einstellungen.m_Option_Stopbits)
{
case 0: ComState.StopBits = ONESTOPBIT;
break;

case 1: ComState.StopBits = ONE5STOPBITS;
break;

case 2: ComState.StopBits = TWOSTOPBITS;
break;
}


und die hier eingstellten daten sollen nun gespeichert werden!
wäre cool, wenn mir jemand weiterhlefen könnte!
thx
 
es kommt ja keine fehlermeldung, aber die daten werden nicht gespeichert!

und wenn ich das mit setcommstate versuche, sind die parameter m_hFile und &ComState nicht deklariert.... so meinst zumindest der compiler.... ICH sehe das ja ganz anders ;-)
 

Neue Beiträge

Zurück