Q&A

  • 중복 실행 방지 하기 위해서..
<!--CodeS-->
{라이브러리}
procedure ShowStatAnesth(App: TApplication; Parent: TWinControl);
begin
    Application := App;

    FmStatAnesth := TFmStatAnesth.Create(App);
    FmStatAnesth.BorderStyle := bsNone;
    FmStatAnesth.Align  := alClient;
    FmStatAnesth.Parent := Parent;
    FmStatAnesth.Show;
end;
<!--CodeE-->


<!--CodeS-->
{폼 생성}
procedure TDmMenu.N1Click(Sender: TObject);
begin
ShowStatAnesth(Application,FmMain);
end;
<!--CodeE-->

위와 같이 생성을 했습니다.
그런데, 중복실행을 방지하기 위해서 어떻게 해야할까요??
인터넷에 떠돌아 다니는건 거의 다 해봤는데, 안되거나 오류가 있더라구요.

그리고 폼 Close 시에..
<!--CodeS-->
procedure TFmStatAnesth.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    Action := CaFree;
end;
<!--CodeE-->
맞게 한건가요??

2  COMMENTS
  • Profile
    이중철 2005.11.10 02:09
    <!--CodeS-->
    {라이브러리}
    procedure ShowStatAnesth(App: TApplication; Parent: TWinControl);
    var i : integer;
    begin

         for i := 0 to Parent.ControlCount - 1 do
            if uppercase(Parent.Controls[i].ClassName) = uppercase('TFmStatAnesth')  then
              exit;

        Application := App;

        FmStatAnesth := TFmStatAnesth.Create(App);
        FmStatAnesth.BorderStyle := bsNone;
        FmStatAnesth.Align  := alClient;
        FmStatAnesth.Parent := Parent;
        FmStatAnesth.Show;
    end;

    <!--CodeE-->

    이정도만 해도 되지 않을까요?

  • Profile
    뚜버기^^v 2005.11.10 03:44
    어떻게 감사드려야 할지.. ^^;;