Der er noget galt her - du skriver, at rx ligger i en klasse som hedder:
"BOOL CSerialCom::ReadByte(BYTE &resp)"
Det er altså ikke nogen klasse, det er en metode (=funktion). Hvis rx kun er tilstede lokalt i metoden er det jo klart, at du ikke kan tilgå den. Som alternativ til det andet udmærkede forslag, kunne du så overveje at definere
void CSerialDlg::setRx(byte rx)
Det er ikke umuligt, at det bliver OK, men din beskrivelse af, hvad der foregår i dit program er for mangelfuld, til at jeg kan rådgive dig præcist.
Vent lige lidt... Er du sikker på, at det ikke er returparameteren resp, som er din rx byte?
Ok. Det ser ud til, at du er i gang med at læse en byte fra en seriel port. Den rå læserutine aner jo ikke, hvad den byte betyder, så din logik bør laves, så du så snart du har kaldt ReadByte gemmer din byte et sted, som siger noget om, hvad byten betyder. Altså noget i retning af:
byte theByte; // Måske skal dette være member på klassen?
BOOL res = cCom.ReadByte(theByte);
if (!res) {
// Jeg ved ikke lige, hvad det betyder. Måske fejl eller slut?
} else {
// Nu har theByte den læste værdi, og du kan gøre noget med den...
}
Men husk, at ReadByte nok kun kan læse samme byte een gang...
Peter