1
나는 인력의 관리를위한 응용 프로그램을 개발 중입니다. 응용 프로그램은 누가 가고 있는지를 보여주는 1 개의 메인 폼과 1 개의 tu 등록 카드를 가지고 있습니다. 직렬 포트에서 데이터를 읽는 데 문제가 없습니다. 내 문제는 메인 폼에서 폼을 등록하고 직렬 포트를 사용하여 메인 폼으로 되돌아 오는 에러입니다.많은 형태로 직렬 포트에서 읽기
윈도우 핸들이 생성 될 때까지 컨트롤에서 Invoke 또는 BeginInvoke를 호출 할 수 없습니다.
내 코드는 여기에 있습니다 :
void mySerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
if (RFIDActive)
{
SerialPort sp = (SerialPort)sender;
RFIDSerial = sp.ReadLine();
this.Invoke(new EventHandler(ShowID));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
과 :
private void ShowID(object sender, EventArgs e)
{
//Some Code to display personnel data
}
정말 여기에서 호출해야합니까? 다른 이벤트에서 ShowID를 등록 했습니까? ShowID의 보낸 사람 및 전자 메일 인수를 사용합니까? – MPelletier
아니요. 보낸 사람과 전자 메일을 사용하지 않습니다. 나는 그것을 테스트하고, 사용하는 것과 사용하는 것과 차이가 없다. Invoke Method를 사용하지 않는다. 하지만 여전히 내 문제는 해결되지 때 다른 양식 사이의 전환 –
오류 자체에 대한 이야기. 잘못된 핸들에 대해 메소드를 호출하려고합니다. 당신은 당신이 그것을하기 전에'Invoke '가 필요하다는 것을 검증 할 필요가 있습니다. –