안녕하세요...
프로그램을 만드는데...궁금한 점이 있어서...
다름이 아니고...
프로그램이 시작할때 A로 로그인해서 프로그램을 사용하다가 ...로그오프한다음 다시 B로 로그인해서...
사용하려고 합니다.
그래서 제가 해본것은...
로그인창을...Auto-create form으로 열고.. 로그인창에서 로그인을 하면 ModalResult에 mrOK값을 주고 MDI창이 뜨게하고...그 다음 MDI창이 Open되면 OnCreate 이벤트에 로그인창을 Close하는 방법으로 했습니다... 그리고 로그전환메뉴를 선택해서 로그전환(로그인창이 뜨게...그러니깐 첨 로그인창을 다시 보여주게)을 하면 MDI창이 B권한으로 다시 뜨도록 했습니다...
그런데... MDI창 Open시에 엑세스바이올레이션(?) 에러가...
로그전환하는 좋은 방법이 있으면 조언을...
참고파일) 위의 것과 같이 ModalResult값을 받지는 않지만 이런식으로 하려고 합니다.
확인하시고 답변부탁드립니다.
특히...MDIChild 오픈 할 때 나는 에러가 왜 나는지좀 알려주세요...
또 한가지는 게시판을 둘러보니 로그인하는 방법 중 프로젝트파일에 MDI Open을 false로 지정하고 로그인창의 ModalResult를 받아서 그것이 mrOK이면 MDI창을 Open하는 방식을 취하던데... 여기서 다시 로그인 Open하는 방법은 어떻게...(프로젝터 파일의 로직을 다시 타게 하는 방법을 모르겠습니다...)
답변 부탁드립니다...
그럼 이만...
에러나는 것은 Auto-Create로 생성한 로그인폼이 메인폼이 되어 버렸기 때문에 그럽니다. MDI Main폼은 반드시 Application의 메인폼이 되어야 하거든요. 근데 로그인폼을 먼저 생성하셨으니까 이게 Application의 메인폼이 되었죠...
MDI main폼을 Auto-Create로 생성하셔서 메인폼으로 만드시고, MDI main의 OnActivate나 OnShow이벤트에서 변수하나 두어서 맨 처음 화면이 뜨는가를 체크하여, 맨처음 뜨는것이면 로그인폼을 띄우세요... 그럼 별 문제 없을겁니다...
그리고 로그인 바꿀때는 차일드폼들 다 닫은후에 로그인폼을 띄우시면 되죠...
^^ 항상 즐코하세요...