Q&A

  • showmodal 과 formshow...
수고 많으십니다.....


BtnSn이라는 버튼을 클릭했을때...

procedure TfrmA8310E1.BtnSnClick(Sender: TObject);

   begin
   Application.CreateForm(TfrmSn, frmSn);
    :
    :
   frmSn.recString1 := trim(Edtsn.Text);
    :
   frmSn.ShowModal;
    :
   frmSn.Free;
end;

-------------------------------------------------------------
type
   :
  public
    recString1     : string;    
       :
   :
  end;

procedure TfrmSn.FormShow(Sender: TObject);
begin
   application.MessageBox('1','확인',Mb_ok);
   application.MessageBox('2','확인',Mb_ok);

   edit2.Text := recString1;
end;

-----------------------------------------------------------------

위와 같이 했을때 당연히 메시지 박스 두번띄우고
edit2.Text 에 recString1 값이 들어가야 되는데.........

frmSn Form 을 Show만 하고는 그 아래 코드는 실행하지 않네요..

왜 그런건가요?

(formCreate 에 코드를 넣어봐도 마찬가지.........)
3  COMMENTS
  • Profile
    한영철 2002.06.19 20:01

    frmA8310E1 의 유닛 추가 하시고 이렇게 해보세요.

    procedure TfrmSn.FormShow(Sender: TObject);
    begin
       application.MessageBox('1','확인',Mb_ok);
       application.MessageBox('2','확인',Mb_ok);
       recString1 := frmA8310E1.Edtsn.Text ;
       edit2.Text := recString1;
    end;
  • Profile
    김도형 2002.06.19 21:06
    문제는....

    procedure TfrmSn.FormShow(Sender: TObject);
    begin
       application.MessageBox('1','확인',Mb_ok);
       application.MessageBox('2','확인',Mb_ok);
       recString1 := frmA8310E1.Edtsn.Text ;
       edit2.Text := recString1;
    end;

    에서........


       application.MessageBox('1','확인',Mb_ok);
       application.MessageBox('2','확인',Mb_ok);

    조차 실행이 되지 않는다는 겁니다....

    그러니 그 이후 코드는 말할것도 없이 실행이 되지 않는거죠.......



    --------------------------------------------------------
  • Profile
    Lynian 2002.06.19 23:05
    소스 참고 하세요.
    폼 2개 만들어서 각각 Edit Box  하나씩 올리고, 버튼 올려서 확인 해보세요..
    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;

    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    uses Unit2;

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
            Form2 := TForm2.Create(Self) ;
       try
               Form2.ShowModal ;
       finally
          Form2.Free ;
       end;
    end;

    end.
    ----------------
    unit Unit2;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;

    type
      TForm2 = class(TForm)
        Edit1: TEdit;
        procedure FormShow(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        recString1 : String ;
      end;

    var
      Form2: TForm2;

    implementation

    uses Unit1;

    {$R *.dfm}

    procedure TForm2.FormShow(Sender: TObject);
    begin
            application.MessageBox('1','확인',Mb_ok);
       application.MessageBox('2','확인',Mb_ok);
       recString1 := Form1.Edit1.Text ;
       Edit1.Text := recString1;

    end;

    end.
    ----------