2014-10-24 2 views
0

스캐너 데이터 수집을 위해 vb.net에서 7 개의 응용 프로그램을 얻었습니다. 응용 프로그램은 먼저 기본 양식을 보여줍니다.이 양식에는 많은 단추가 포함되어 있습니다. 두 번째 레벨 양식, 스캔 된 데이터 입력을 기반으로, 세 번째 레벨 양식은 두 번째 레벨 양식 (이 시점에서 닫히지 않은 두 번째 레벨 양식)의 지점에서 표시 할 수 있으며 세 번째 레벨 양식을 닫으면 두 번째 수준 양식으로 돌아갈 수 있습니다. 그것이 제 3의 수준 형태를 위해 밖이고 당신이 가기 위해 또 다른 버튼을 클릭하기 위해 메인 폼으로 되돌아 갈 수있는 두 번째 레버 형태를 닫는 것, send level 형태의 휴식 프로그램을 계속해서 실행한다는 것을 가리킨다. 기본 폼은 스캐너 클래스를 initial로 호출하기 만하면 스캐너 이벤트를 처리하지 않습니다. 두 번째 및 세 번째 수준의 폼로드에는 addhandler 문이 있습니다. 어떤 양식이 맨 위에 있더라도 스캔 이벤트를 처리하여 특정 양식의 스캔 된 데이터를 처리 할 것입니다. 모든 양식 처리는 데이터를 다르게 처리합니다. 사용 가능한 모든 폼에 대해 스캐너 이벤트를 유지하려면 이벤트를 모듈에 넣고 스캐너 클래스가 데이터를 읽으면이 이벤트가 발생합니다. 테스트 할 때 첫 번째 사용 가능한 폼이 데이터를 잘 처리하고 양식이 앞뒤로 전환되면 이벤트 처리기가 더 이상 작동하지 않고 프로그램이 멈추거나 작동을 멈 춥니 다. 나는 이유를 알 수 없다. 나는 여러분들이 저에게 이런 종류의 사건을 다루는 더 좋은 방법이 무엇인지에 대해 조언 해 줄 수 있기를 바랍니다. 감사합니다.여러 양식이 하나의 스캐너 이벤트를 처리합니다.

+1

[단독 책임 원칙] 참조 (http://en.wikipedia.org/wiki/Single_responsibility_principle) – Plutonix

답변

0

양식에는 모듈에서 함수를 호출하는 처리기가 포함됩니다. 양식이 더 이상 활성화되지 않으면 양식을 언로드하거나 스캐너 처리기를 제거하십시오. 이벤트에 대한 활성 처리기가 두 개 있으면 문제가 발생할 수 있습니다.

관련 문제