Q&A

  • 다이얼로그에서 차일드폼으로...
MDI의 CHILD 폼에서 다이얼로그를 호출한 후 다이얼로그의 디비그리드의 필드

를 차일드의 Edit.Text에 값을 전달하려고 하는데, 분명 다디얼로그가 있을땐

값이 들어간걸 확인할 수 있었는데, 다이얼로그를 CLOSE하면 차일드폼의 에디

터에 값이 들어가지 않습니다.



다이얼로그의 uses에 차일드폼의 unit파일을 주었고, 그밖에 다른건 않해줘도

되는것 같은데...



혹시 이유를 아시면 답변좀...!!

1  COMMENTS
  • Profile
    이승윤 1999.06.10 00:38
    김민영 께서 말씀하시기를...

    > MDI의 CHILD 폼에서 다이얼로그를 호출한 후 다이얼로그의 디비그리드의 필드

    > 를 차일드의 Edit.Text에 값을 전달하려고 하는데, 분명 다디얼로그가 있을땐

    > 값이 들어간걸 확인할 수 있었는데, 다이얼로그를 CLOSE하면 차일드폼의 에디

    > 터에 값이 들어가지 않습니다.

    >

    > 다이얼로그의 uses에 차일드폼의 unit파일을 주었고, 그밖에 다른건 않해줘도

    > 되는것 같은데...

    >

    > 혹시 이유를 아시면 답변좀...!!



    아마도 Dialog Form이 닫히면서 Dataset(TQuery, TTable)가 닫혀져서 그렇게 되는것 같습니다. 다음과 같은 코딩으로 해결할 수 있을것 같군요.



    //** 다이알로그 폼을 띄우기 위해 버튼을 클릭했을 경우.

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    if DialogForm1.ShowModal = mrOk then

    begin

    Edit1.Text := Query1.FieldByName('Field1').asString;

    Query1.Close;

    end;

    end;

    //** 위와 같은 방법으로 코딩을 하면 문제가 없을것 같군요.



    해답이 되면 좋겠네요.