안녕하세요
델코초보인데요..
DB에 Insert/Edit하는 Form을 만들려고 하는데 문제가 있어서요..
화면 FORM을 SHOWMODAL로 생성시켜서 데이터값을 입력받고 OK BUTTON눌렀을때 DATA값을 VALIDATION하여 ERROR가 없으면 DB에 WRITE하고 ERROR가 있으면 ERROR MSG를 띄우고 다시 값을 입력받으려고 합니다. Validation시 Error가 발생했는데도 ERROR MSG를 보여주고 다음에 자동적으로 FORM이 종료가 됩니다. Close란 명령도 하지 않았는데 말이에요..
그런데 Form을 Show로 생성시켰을 때는 Error MSG를 보여주고 Form이 자동적으로 종료되는 일은 없습니다. 그러나 Form.Showmodal 과 Form.Show의 차이점은 잘 모르겠지만 Form.Showmodal로 생성시켰을 때는 다른 Form이 Inactive되더군요.. 이방법(Showmodal사용)으로 Form을 생성시킬려고 하는데 자동 종료되지 않는 방법이 없을 까요...
아래의 Src입니다... 참고하시고 빠른답변 부탁드립니다.
지식에 목마른 델코초보가...
감사합니다.
var
DBEdit : TFmUserEdit;
begin
Try
DBEdit := TFmUserEdit.Create(Application);
DBEdit.Showmodal;
Finally
DBEdit.Free
end;
ShowModal로 띄운 폼의 Ok버트을 눌렸는데 종료가 된다는 말씀이죠. 아마도 90%정도는
Close란 명령을 내리지 않아도 종료가 될것입니다.
폼이 ShowModal인 상태에서 종료가 되는 방법은 폼의 종료버튼을 누르거나 Close를 호
출하거나 또는 ModalResult에 0이 아닌값을 넣어주거나 했을때입니다.
버튼을 눌렀을때 버튼의 ModalResult값이 폼의 ModalResult값에 넣어집니다. 그러므로
만약 버튼의 ModalResult 값이 0(mrNone)이 아닌값이라면 버튼을 누르면 버튼의 OnClick
이벤트처리를 하고 폼이 종료가 됩니다.
모들 폼의 버튼을 눌러도 종료가 안되게 하실려면 버튼의 ModalResult를 0(mrNone)으로 하세요.
^^ 항상 즐코하세요.
준희 wrote:
> 안녕하세요
> 델코초보인데요..
>
> DB에 Insert/Edit하는 Form을 만들려고 하는데 문제가 있어서요..
>
> 화면 FORM을 SHOWMODAL로 생성시켜서 데이터값을 입력받고 OK BUTTON눌렀을때 DATA값을 VALIDATION하여 ERROR가 없으면 DB에 WRITE하고 ERROR가 있으면 ERROR MSG를 띄우고 다시 값을 입력받으려고 합니다. Validation시 Error가 발생했는데도 ERROR MSG를 보여주고 다음에 자동적으로 FORM이 종료가 됩니다. Close란 명령도 하지 않았는데 말이에요..
>
> 그런데 Form을 Show로 생성시켰을 때는 Error MSG를 보여주고 Form이 자동적으로 종료되는 일은 없습니다. 그러나 Form.Showmodal 과 Form.Show의 차이점은 잘 모르겠지만 Form.Showmodal로 생성시켰을 때는 다른 Form이 Inactive되더군요.. 이방법(Showmodal사용)으로 Form을 생성시킬려고 하는데 자동 종료되지 않는 방법이 없을 까요...
>
> 아래의 Src입니다... 참고하시고 빠른답변 부탁드립니다.
> 지식에 목마른 델코초보가...
> 감사합니다.
>
> var
> DBEdit : TFmUserEdit;
> begin
> Try
> DBEdit := TFmUserEdit.Create(Application);
> DBEdit.Showmodal;
> Finally
> DBEdit.Free
> end;
>
>
>
>
>
>
>