안냥하세요??
즐거운 주말인데... 오늘도 어김없이 이렇게 ~~;
질문..........
mdi 부모폼에서 메뉴바를 이용해서 sdi폼을 하나 부를려구 합니다....
그런데... Project project1.exe raised exception EAccessViailtion with massage~~
(여기까장 적는냐구 힘들었습니당~ ^^;)하면서 에러가 나더라구요...
무슨 내용인지는 잘 모르겠는데.....
코딩은 이렇게했거든요...
var
i : integer;
begin
try
Form51 := TForm51.Create(Self); --> 에러나는 부분...
FORM51.ShowModal;
finally
form51.Free;
END;
근데... sdi폼에서 visible에서 false로 놓구하면 된다고 해서 그렇게 했는데도 안되더라구
요...
여러 방법을 해 보았는데... 왜 안 되는 것인지...
고수님들의 조언을 부탁드립니다....
글구 이 글을 읽으시는 분들... 즐거운 주말엔 가족과 보내셔야 하는 것 알죠??
혹시 먼 미래에 가족이 되실분을 만나시는 분들도 괜히 싸우지 마시고... 즐코하세요...
> 안냥하세요??
> 즐거운 주말인데... 오늘도 어김없이 이렇게 ~~;
>
> 질문..........
> mdi 부모폼에서 메뉴바를 이용해서 sdi폼을 하나 부를려구 합니다....
> 그런데... Project project1.exe raised exception EAccessViailtion with massage~~
> (여기까장 적는냐구 힘들었습니당~ ^^;)하면서 에러가 나더라구요...
> 무슨 내용인지는 잘 모르겠는데.....
> 코딩은 이렇게했거든요...
>
> var
> i : integer;
> begin
> try
> Form51 := TForm51.Create(Self); --> 에러나는 부분...
> FORM51.ShowModal;
> finally
> form51.Free;
> END;
>
답변해 드릴께요. 현재 MDI폼에서 SDI 즉 FormSyle이 fsNormal로 된 폼을 호출하는경우
인데... 위에서 에러가 나는경우를 보니까 현재 프로젝트화일에 Form51이라는 폼이
자동생성되어 있는것 같습니다. 이를 일단 없애려면. 메뉴에서 Project - Options 에서
Auto Create ....라는 부분(리스트 상자)에 현재 Form51이라는 폼이 있을 것인데
이를 옆에있는 Available...이라는 상자로 >버튼으로 옮기세요
그리고나서 Form을 호출할때 이렇게 해보세요
다음은 버튼 Call을 누를경우 SDI폼 PayForm을 호출하는 경우 입니다.
Procedure TMainForm.BtnCallClick(Sender : Object);
begin
PayForm := TPayForm.Create(Application);
PayForm.ShowModal;
end;
이라고 해보세요...
그리구요 위에 보니가 SDI의 Visible 속성을 False로 한다는 것을 보니까
아마도 저의 생각대로 현재 프로젝트에 Form51이 자동으로 생성되게 되어
있는 것 같습니다. 위에서 설명한데로 프로젝트 옵션상자에서 자동생성
폼으로 등록되어있는 Form51을 옆에있는 Available Form 상자로 옮기세요...