Q&A

  • 화면 FORM 문제..
안녕하세요

델코초보인데요..



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;















5  COMMENTS
  • Profile
    최용일 2000.05.03 02:49
    안녕하세요. 최용일입니다.



    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;

    >

    >

    >

    >

    >

    >

    >

  • Profile
    준희 2000.05.03 05:02
    안녕하십니까.



    이문제는 해결되었습니다.



    Project Option에서 Call 되는 Form을 Availible...에 넣고 Click 버튼의 ModalResult를 mbNone으로

    바꾸니가 문제가 해결 되었습니다.



    정말 감사드립니다.





    최용일 wrote:

    > 안녕하세요. 최용일입니다.

    >

    > 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;

    > >

    > >

    > >

    > >

    > >

    > >

    > >

  • Profile
    zoro 2000.05.03 01:43
    안녕하셔요

    괜히 하수가 답변하게 되어 고수님의 자세한 답변을 못들을 것 같아

    죄송합니다...

    어찌
  • Profile
    조규춘 2000.05.03 01:50
    준희 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;

    >

    >

    >

    >

    >

    >

    >



    안녕하셔요! 앞에 zoro님이 ModalResult 에 대한 자세한 설명은 하셨군요!

    아래 방법으로 한번 해보셔요! 아마 별탈 없으면 될겁니다.

    그러니끼니....

    그 showmodal 할 폼을 프로젝트 옵션에서 available forms 로 하시고....

    (아래 예에서는 showmodal 할 폼의 이름을 savershow 라고 했습니다.)



    그리고 mainform에서는

    var

    savershow: Tformsaver;

    :

    :



    procedure 버튼클릭 이벤트(); // 여기서 savershow라고 불르고...

    begin

    If SaverShow = nil then savershow := TFormsaver.Create(Self);

    savershow.ShowModal;

    FreeAndNil(savershow);

    end;





    savershow 그 폼에서 닫기 버튼을 클릭할때...의 소스는

    ModalResult := mrCancel;



    이렇게 한번 해보셔요!



    조규춘 올림..

  • Profile
    김태균 2000.05.03 01:36
    Try ... finally 대신에 Try ... except 문을 쓰세요.



    • 이정욱
      2000.05.03 01:55
      Application.ShowMainForm := False; 흐.. 생각보다는 모르시는 분들이 많은 팁입니다~ 초심자 ...
    • 박용
    • 2000.05.03 01:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정병근
      2000.05.03 01:57
      박용 wrote: > > 안녕하세요. > 델파이를 공부하는 학생입니다.(왕초보) > Q&A에서 아무리 ...
    • nilriri
      2000.05.03 01:56
      var qry_sum : TQuery; begin qry_sum := TQuery.create(nil); with qry_sum do begin D...
    • 준희
    • 2000.05.03 01:20
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.03 02:49
      안녕하세요. 최용일입니다. ShowModal로 띄운 폼의 Ok버트을 눌렸는데 종료가 된다는 말씀이죠. 아마도 ...
    • 준희
      2000.05.03 05:02
      안녕하십니까. 이문제는 해결되었습니다. Project Option에서 Call 되는 Form을 Availible...에 넣...
    • zoro
      2000.05.03 01:43
      안녕하셔요 괜히 하수가 답변하게 되어 고수님의 자세한 답변을 못들을 것 같아 죄송합니다... 어찌
    • 조규춘
      2000.05.03 01:50
      준희 wrote: > 안녕하세요 > 델코초보인데요.. > > DB에 Insert/Edit하는 Form을 만들려고 하는데 문...
    • 김태균
      2000.05.03 01:36
      Try ... finally 대신에 Try ... except 문을 쓰세요.
    • 정수현
    • 2000.05.03 00:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김일영
      2000.05.03 01:45
      올려주신 내용만으로는 SQL문 어디에도 buy_code라는 필드를 select해 오지 않는군요. 그러므로 비교를 할...
    • 조규춘
      2000.05.03 01:18
      델초보 wrote: > 패널 콤포넌트에다가 색깔을 파랑으로 지정하고 > 그 위에다가 스피드 버튼을 놓으니 ...
    • 황원석
    • 2000.05.03 00:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김태균
      2000.05.03 01:34
      음... SQL Server에서도 한글은 2바이트로 인식합니다. 황원석 wrote: > sql 서버에서 한글을 1자리로...
    • 델_맹
    • 2000.05.03 00:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 윤석천
      2000.05.03 02:42
      델_맹 wrote: > > 안녕하세요, 여러분들 또 질문을 올립니다. > > *인터베이스로 데이터베이스를 연...
    • 델_맹
      2000.05.03 07:45
      윤석천 wrote: > 델_맹 wrote: > > > > 안녕하세요, 여러분들 또 질문을 올립니다. > > > > *인터...
    • 정형모
    • 2000.05.02 23:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.05.03 01:24
      정형모 wrote: > DBGrid의 내용을 그래프로 보여줄수 있는 방법을 > 아시는 분 부탁드립니다. 질문을...
    • 각시탈
    • 2000.05.02 23:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.05.03 01:42
      각시탈 wrote: > 안녕하십니까.. > 프로젝트를 진행하다 > ..한군데 막히는 부분이 생겨서 > 이렇게 글...
    • KJB
    • 2000.05.02 23:33
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하늘맥
    • 2000.05.02 23:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델피언
      2000.05.03 00:14
      하늘맥 wrote: > 별다른것은 아니고 다음과 같은 sql 이 있슴다.. > > select a.fileno,a.qty,b.colorn...
    • 2000.05.02 23:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • zoro
      2000.05.03 01:17
      //이렇게 동적으로 생성하면 되고요~~ procedure TForm1.FormCreate(Sender: TObject); begin TabCont...
    • 최용일
      2000.05.03 01:11
      안녕하세요. 최용일입니다. // 탭 추가 TabControl1.Tabs.Add('탭이름'); // 지정된 위치에 탭 추...
    • 2000.05.04 03:30
      최용일 wrote: > 안녕하세요. 최용일입니다. > > // 탭 추가 > TabControl1.Tabs.Add('탭이름'); >...
    • Macgyver
    • 2000.05.02 23:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2000.05.03 02:38
      Macgyver wrote: > 카데시안 Join이 뭐예요? > Sql Server에도 적용되나여? > 알고싶어요 답변이 될...
    • zoro
    • 2000.05.02 22:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김명술
    • 2000.05.02 21:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • HART
      2000.05.03 01:13
      일단 퀵리포트로 출력이 가능합니다. 단 추가 소스를 작성해야합니다. 방법은 아래 소스와 같음.. p...
    • 최은창
      2000.05.02 22:04
      절사가 버림을 뜻하는 거지요? procedure TForm1.Button1Click(Sender: TObject); var f: real; b...
    • 강민주
      2000.05.02 21:45
      박설화 wrote: > label에서 계산된 값이 실수값인데 그 값을 (10원 미만 절사)를 해야 합니다. > 어떻게 ...
    • 하늘맥
    • 2000.05.02 20:57
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박종일
      2000.05.02 21:50
      하늘맥 wrote: > SELECT A.FILENO, B.ITEM, A.DESIGN,B.UNIT,A.COLORNO,A.GSUSER, C.USNAME, D.COLORNAME,...
    • 박종일
      2000.05.02 21:50
      하늘맥 wrote: > SELECT A.FILENO, B.ITEM, A.DESIGN,B.UNIT,A.COLORNO,A.GSUSER, C.USNAME, D.COLORNAME,...
    • 하늘맥
      2000.05.02 23:23
      답변고맙습니다.. a 와 b 두군데다 null 값이 있으면 어떡하죠.. 박종일 wrote: > null 값의 che...