|
원래 그렇습니다.
말씀하신 예외는 형식이 충족하지 못하는 입력으로 다음 포커스로 넘어 가려고 했기 때문입니다.
EditMask 를 999-999-9999 식으로 주면
예외가 나지 않습니다.
아마도 EditMask 999-000-0000으로 되어 있기 때문에
000-0000은 반드시 내용을 채워서 입력해야 한다는 뜻이기 때문에 예외가 나는 것입니다.
EditMask 를 999-999-9999 식으로 주고
포커스를 벗어나려고 할때 그 형식에 맞는가 체크해주시면 될 것입니다.
EDBEditError 예외를 잡아서 무력화 시켜도 되는데
그건 방법을 연구해 보시기를..
동철이 님이 쓰신 글 :
: BCB 6.0 (업데이트4 적용됨)으로 작업중입니다.
:
: maskedit를 이용하여 전화번호를 입력받습니다. ___-___-____ 이런 스타일입니다.
: 그런데 사용자가 번호를 입력하든 중간에
:
: ex) 704-___-____ (4를 누른 후)
:
: 엔터키나 탭키를 치면 다음과 같은 예외 에러가 납니다.
:
: ---------------------------
: Debugger Exception Notification
: ---------------------------
: Project Project1.exe raised exception class EDBEditError with message 'Invalid input value. Use escape key to abandon changes'. Process stopped. Use Step or Run to continue.
: ---------------------------
: OK Help
: ---------------------------
:
: 디버그모드 및 릴리스 모드 둘 다 결과 동일합니다.
:
: 혹시 최신버전의 빌더나 델파이쓰고 계신가요? 이런 에러가 나진 않나요? 하도 궁금해서 여쭤 봅니다.
:
: 제가 본 다른 프로그램은 마스크에디트쓰는 도중에 엔터나 탭을 쳐도 그냥 포커스를 자연스럽게 이동합니다. 이것이 정상일 듯한데(정상은 아니지만)제가 배포하는 프로그램을 사용자가 잘못 입력할 수도 있는데 저런 예외에러 박스를 표시하고 중단되면 너무 심하지 않나 하는 생각이 듭니다. 그냥 컴포넌트 하나 새로만들 수도 없고(아직 방법을 모름...ㅠㅠ)
|