Q&A

  • 모달 다이얼로그에서 부모 창으로 값 전송하여 적용하기
모달 다이얼로그에서 어떤 값을 입력하면 그 값이 텍스트로 저장됩니다.

그러면 부모 폼에서는 그 텍스트의 내용을 읽어 값을 읽어와 세팅을 하는데여.

모달 다이얼로그의 확인버튼을 바로 클릭시 내용의 적용을 보고 싶은데

바로바로 적용이 되어 지질 않는데여......

어떻게 하면 이것을 해결할 수 있을까여.........

내용이 부족하면 더 자세히 설명드리겠습니다. 감사합니다..

==================================================================
procedure ButtonOK(Sender: TObject);
begin
  ......
  FileOpen..
  FileWrite..
  FileClose..
  ModalResult := mrOK;

  {여기서부터 코딩을 잡아주려 합니다}
  frmNewPerf.MyStringGrid.Invalidate;
// 이렇게 Invalidate를 쓰면 반영이 되는 건가여......
end;
1  COMMENTS
  • Profile
    한원희 2002.07.19 19:32
    모달 다이얼로그라고 하셨으니까, 버튼의 ModalResult 값을 세팅하셨겠군요.
    예를 들어, 확인 버튼에는 mrOK, 취소 버튼에는 mrCancel을 설정하셨죠?

    먼저, 부모 폼에서 모달 대화상자를 띄울 때 ShowModal 메소드로 호출을 합니다.
    다음과 같이 한번 적용해 보세요.

      modalForm:=TModalDialog.Create(Self);
      try
         if modalForm.ShowModal=mrOK then
         begin
            // modalForm에서 값을 읽어서 이용하는 코드
         end;
      finally
        modalForm.Free;
      end;

    이렇게 하면, 확인 버튼이 눌렸을 경우에만 적용하게 되겠죠.
    버튼이 한개면, 무조건 이용하도록 하시면 될거구요 ^^;

    참, 여기서 중요한 것은 모달 폼의 OnClose 이벤트에서
    Action을 caFree로 설정하시 마세요. 그럼, 값을 설정하기 전에
    대화상자가 메모리에서 해제되는 상황이 발생할 수도 있습니다.
    그럼, 오류가 발생하겠죠. ^^

    통상 모달 대화상자를 작성할 때는 OnClose 이벤트를 작성하실 필요가 없습니다.
    위 코드에서 보시는 것과 같이 다 사용하신 후에, Free 해주거든요.
    그럼, 즐코~~~

    • 배경
      2002.07.19 20:37
      저 가 확인 해 봤는 네 잘 되는군요 이상하네요 혹 델파이 6을 업그레이드 안하셨는지 ? 그리고 ...
    • 이추형
      2002.07.19 20:19
      혹시 FormCreate 이벤트에서 작업을 하신다면 각각의 components 생성에 문제가 생깁니다. FormActivate...
    • 임지수
      2002.07.19 20:32
      님.. procedure TFrm_buyer.edit_enabled(x:boolean); begin Btn_insert.Enabled := x; Btn_edit.Ena...
    • 이기정
    • 2002.07.19 19:33
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 민병범
    • 2002.07.19 19:17
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.19 19:32
      모달 다이얼로그라고 하셨으니까, 버튼의 ModalResult 값을 세팅하셨겠군요. 예를 들어, 확인 버튼에는 mr...
    • 박명성
    • 2002.07.19 18:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김도형
      2002.07.19 18:24
      //찾기 procedure TFrm_Main.Dlg_FindFind(Sender: TObject); var   FoundAt: LongInt; &nbs...
    • 함희주
    • 2002.07.19 14:41
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박종삼
    • 2002.07.19 06:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이현철
      2002.07.20 19:57
      흠.. 저도 안해봤던 부분이라.. 어떻게 말씀드려야 할지 모르겠네요... 그렇다고 그 상황을 제가 직접 만...
    • 성대현
    • 2002.07.19 05:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.19 19:06
      ImageList 의 이미지를 캔버스에 그려주는 메소드가 있습니다. Draw 라는 메소드인데... 이를 이용해 보세...
    • 서기원
      2002.07.19 06:35
      저도 Imagelist는 안써봐서 어떻게 쓰는지는 잘 모르는데 이렇게 하니까 되네요. iCount를 전역으로 선...
    • 짱아
    • 2002.07.19 04:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.19 18:56
      연산상으로는 따로 잘못된 부분은 없는 것 같습니다. 0이 넘어가는 경우는, ComboBox2.text 에서 가져온 ...
    • 박영수
    • 2002.07.19 04:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.07.19 20:22
      건수가 얼마되지 않는다면 출력용 dataset을 하나더 가져가는건 어떨까요?
    • 송재훈
    • 2002.07.19 03:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2002.07.19 19:14
      글쎄요. 참 논란의 소지가 있는 질문이네염 ^^ 한 가지 확실한 것은 비베는 베이직 언어를 사용하고, 델...
    • 최석기
      2002.07.19 19:47
      TForm안에 선언한 함수의 선언은 TForm의 Public 멤버 함수로 사용되어진다는 의미에 선언이기 때문에 함수...
    • 신연근
      2002.07.19 05:59
      자세한건 저도 초보이기 때문에 잘 모르겠지만 선언부(public)에 써준 function을 삭제하시던가 아니면...
    • 박영수
      2002.07.19 04:08
      function TForm1.MyProc(FirstInt: Integer; SecondInt: Integer): Integer; var    ...
    • hidel
      2002.07.19 04:05
      {$R *.dfm} function TForm1.MyProc(FirstInt: Integer; SecondInt: Integer): Integer; 로 ..해보세요...
    • 넘버3
    • 2002.07.19 03:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 2002.07.19 02:28
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 2002.07.20 02:57
    • 최용일
      2002.07.19 03:16
      안녕하세요. 최용일입니다. 그냥 빈문자열주시면 됩니다... Registry.ReadString(''); ^^ 항상 즐...
    • 이병협
      2002.07.19 03:16
      Registry.ReadString(''); 하시면 됩니다.
    • 이현철
      2002.07.19 02:50
      아래의 예제는 제가 예전에 작성했던 코드인데.. HKEY_LOCAL_MACHINE 밑에 softwaremicrosoftwindowscur...
    • 뿡뿡이
    • 2002.07.19 01:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • withcount
      2002.07.19 03:21
      형호님이 미리 답변하셨네요..^^ 델코 초보강좌란에 "Interbase Q&A 모음" 이 있는데 읽어보시면 도움...
    • 임형호
      2002.07.19 02:17
      interbase 초기설정하는것은 요즘 나오는 델파이 책을 보면... 나와있는것들이 많이있습니다. 질문하신 내...
    • 나상진
    • 2002.07.19 01:29
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.19 01:32
      안녕하세요. 최용일입니다. uses절에 CommCtrl유닛을 추가하세요... ^^ 항상 즐코하세요...
    • 이현철
      2002.07.19 01:31
      이 컴포한번 써보세용.. 프로그래스바고 머고.. 다 상태바에 올릴수 있습니다..