델초보 올립니다...
도움 주시면 감사하겠읍니다...
MDI폼을 메인폼으로 띄우고 Login폼을 모달폼으로 먼저 띄웠읍니다...
그런데 띄우는 데는 문제점이 없는데 종료할때 정상적으로 종료가 안되고 에러가 뜹니다
밑에 소스올립니다...도움주시면 감사하겠읍니다...
***밑에 소스는 메인폼에서 Modal폼을 띄운것입니다***
procedure Tkp1.FormCreate(Sender: TObject);
begin
kp0 := Tkp0.create(Application); //login 폼 동적생성
kp0.showmodal(); //모달폼으로...
if kp0.modalresult = mrOK then
begin
kp0.free;
kp0 := nil;
end
else if kp0.modalresult = mrcancel then
begin
kp0.free;
kp0 := nil;
kp1.close;
kp1.free;
end;
end;
***밑에 소스는 확인버튼을 누르면 메인폼을 띄우고 종료버튼을 누르면 프로그램을
종료하는 소스입니다
procedure Tkp0.Button2Click(Sender: TObject);
begin
modalresult := mrcancel;
end;
procedure Tkp0.Button1Click(Sender: TObject);
begin
Modalresult := mrOK;
end;
이상입니다 도움주시면 감사하겠읍니다
청개구리 남기석입니다.
FormCreate 이벤트에서는 자기 자신을 Close할 수 없습니다.
전역변수를 설정하셔서 FormActivate 이벤트에서 처리하셔야 합니다.
var
LoginOK : Boolean;
implementation
procedure Tkp1.FormCreate(Sender: TObject);
begin
............
............
if kp0.showmodal = mrOK then
LoginOK := True
else
LoginOK := False;
............
............
end;
procedure Tkp1.FormActivate(Sender: TObject);
begin
if LoginOK = False then
Close;
end;
행복하세요...
=============================================================================
김지명 wrote:
> 델초보 올립니다...
> 도움 주시면 감사하겠읍니다...
> MDI폼을 메인폼으로 띄우고 Login폼을 모달폼으로 먼저 띄웠읍니다...
> 그런데 띄우는 데는 문제점이 없는데 종료할때 정상적으로 종료가 안되고 에러가 뜹니다
> 밑에 소스올립니다...도움주시면 감사하겠읍니다...
>
> ***밑에 소스는 메인폼에서 Modal폼을 띄운것입니다***
>
> procedure Tkp1.FormCreate(Sender: TObject);
> begin
> kp0 := Tkp0.create(Application); //login 폼 동적생성
> kp0.showmodal(); //모달폼으로...
> if kp0.modalresult = mrOK then
> begin
> kp0.free;
> kp0 := nil;
> end
> else if kp0.modalresult = mrcancel then
> begin
> kp0.free;
> kp0 := nil;
> kp1.close;
> kp1.free;
> end;
> end;
>
> ***밑에 소스는 확인버튼을 누르면 메인폼을 띄우고 종료버튼을 누르면 프로그램을
> 종료하는 소스입니다
>
> procedure Tkp0.Button2Click(Sender: TObject);
> begin
> modalresult := mrcancel;
> end;
>
> procedure Tkp0.Button1Click(Sender: TObject);
> begin
> Modalresult := mrOK;
> end;
>
> 이상입니다 도움주시면 감사하겠읍니다
>