@Darie
Ich schaue gerade, weil ich bei mir mit Preferences was in meinem
TNC-Übertragungsprogramm mit Hardwarehandshake benötige, deinen
Code durch, wie du das mit RTS/CTS gemacht hast. Bei mir will ich
alle Möglichkeiten über die Comboboxen vorgeben und muss wohl einige
Bits mehr setzen bzw. abfragen.
Dabei fällt mir auf, das du folgendes für das STOP-Bit benutzt:
StopBits = Val(GetGadgetText(#ComboBox_25))
Da ich im englischen Forum bezüglich des Stopbits angefragt, habe,
warum man dort nicht genauso wie bei den PB-Constanten für Parity usw.
benutzt, bekam ich nur die Antwort von ABBAKlaus und Fred, das ich
Float für das Stopbit benutzen muss. Das ist dann aber für die Preferences
und Comboboxen umständlich. In der MSDN wird aber ein Longwert in der API
genutzt, was vieles einfacher macht. Man braucht dann eben nicht die Werte,
sondern die Constanten in den Preference speichern. Naja, man muss sich
den Eigenarten in PB fügen, auch wenn nur teilweise von der API was übernommen
wird, aber bei Stop eine Ausnahme gemacht wird.
Theoretisch müsste bei dir dann folgende Zeile heißen:
StopBits = Valf(GetGadgetText(#ComboBox_25))
wenn du für StopBit den Wert 1.5 nutzen möchtest, falls erforderlich.
Bei 1 und 2 fällt es eben nicht auf.
Hier der Link zur MSDN wo es anders als in PB ist:
http://msdn.microsoft.com/en-us/library/aa450503.aspx
Im Source kann man sehen, das dort longs für die floatwerte benutzt werden.
PortDCB.StopBits = ONESTOPBIT; // 0,1,2 = 1, 1.5, 2
Hier nochmal der Link ins englische Forum, wo ich bezüglich des Stopbits nachgehakt hatte.
http://www.purebasic.fr/english/posting ... 6&p=379218
Da mein englisch nicht das Allerbeste ist, habe ich das hier nochmal aufgeführt.
Gruß,
Falko