안녕하세요. 까마귀입니다.
어떻게 설명하기가 좀 곤란한 에러(라고 할까나...) 인데요.
먼전 상황 설명을 하자면..
상품 매출을 입력하는 폼인데요.
마스터와 디테일로 나뉘어져 있고요.
입력할때 먼저 마스터 데이터를 입력하고 저장합니다.
그 뒤에 디테일 정보를 입력하는데, 한건씩 입력할때마다 저장을 합니다.
그런데, 꼭 디테일 두건을 입력하고 나면 그 순간에 프로그램이 종료가 되어 버립니다.
MDI 폼으로 작성을 했고요. 메인 폼을 종료하려고 하면 종료하겠느냐고 묻도록 했는데, 이런 메서지도 뜨지 않고 바로 종료해버립니다.
코딩할때 에러는 나지 않았는데요.
의심가는 부분은....
각 폼마다 공통적으로 발생하는 이벤트는 상속받아서 해결 하려고, 상속용 폼을 만들어 사용합니다.
제일 기본적으로 많이 사용하는 상속용 폼을 하나 만들어 뒀고요. -- 상속 폼 1.
그 폼에 그리드를 올려서 사용하는 상속용 폼을 또 만들었어요. -- 상속 폼 2.
상속 폼 1에는 각 폼에서 쿼리를 오픈하거나 저장을 할때 사용하려고,
쿼리 오픈용 프로시저와 저장용 프로시저 두개를 선언만 해서 뒀습니다. -- Virtual
이 것들은 상속 폼 1에서는 Protected 에다가 선언을 했고요.
실제 사용하는 각 폼에서는 Private 에다가 선을을 했습니다.
이렇게 하니까 컴파일시에 힌트가 뜨더군요.
Overriding virtual method 'TFRM_Sale.Open_Qurey' has lowere visibility (private) then base class 'TFRM_InHerit1'[procted]
다른 폼도 마찬가지로 선언했지만 별 문제가 없었거든요.
참, 다른 폼은 모두 위에서 virtual 로 선언한 프로시저로만 쿼리 오픈 및 저장등을 하면 됐거든요.
그런데, 매출 폼은 디테일 내용을 오픈 및 저장을 하기 위해 그 폼에서 프로시저 하나씩을 각각 하나씩 더 선언을 해서 사용합니다.
이게 무슨 문제가 될게 있나요? 그건 아닌거 같은데...
확실히 어디가 에러가 나는 거면은 모르겠는데, 이런식으로 런타임 에러가 걸리니까 도무지 감을 잡을수가 없네요.
덕분에 설명도 제대로 할수가 없고요.
혹시 이런 비슷한 경험을 하신분이 계시면 대략적으로 나마 좀 알려주시면 감사하겠습니다.
테스트 단계에 들어가려고 하는데, 이 문제로 테스트 하자고 말을 할수가 없네요. ㅠ.ㅠ
도움 부탁드립니다.
위대한 단군혼이 살아있는 나라.... 대한민국.
항상 두건을 입력하면 에러가 난다구 했으니까 첫번째건은 그냥 입력하시고, 두번째건 입력부터 한줄한줄 디버깅해보세요...
한줄 한줄 디버깅해보시면 어떤 부분에서 에러가 나는지 아실 수 있을거 같은데...
^^ 항상 즐코하세요...