기존의 프로젝트들은 보통 폼 비중을 Auto-create forms는 10%
Available forms를 거의 90%정도 했던거 같습니다.
그런데 우연히 어느책에서 본건데 Createform을 직접 호출하면 커다란 최적화를
기대할수 없다고 나오던데요..
그럼 메인폼을 제외한 나머지를 Available forms으로 해야 하나요?
보통 40~50개 정도의 폼들이 있다고 가정할때 비중을 어떻게 해야 할지.
Auto-create forms와 Available forms 장단점을 비교해 주셨으면 합니다.
우선 델파이가 리소스 관리의 뛰어나다는걸 알지만, 폼을 직접 생성할 이유가
없다면 델파이 내부에서 생성되도록 두는 것이 좋을거 같아서..
그리고 한가지 더 질문드립니다..
에러발생 Cannot focus disabled or invisible window
사용환경 : 델파이4 / Windows 98 / MS-SQL 7.0
에러 메시지 : Cannot focus disabled or invisible window
MDIChild(예로 Form1)폼에서 어느 특정한 edit에서 더블클릭시 다른
MDIChild폼(예로 Form2)을 불러온후
어느 결과값을 선택하면 Form2는 close되고 그 결과값을 Form1 edit로 입력되게
하려고 합니다..
그런데 여기서 Form1의 edit를 클릭하면 에러가 뜨고 Form2 어느 특정한 값을 선택하고
close할때 다시 한번 에러가 듭니다..
에러메세지 박스가 뜨면 확인을 누르고 나면 결과값을 전달이 되긴 되는데...
Cannot focus disabled or invisible window 이런 에러 메세지가 뜹니다..
focus 이동의 문제가 있긴 있는거 같은데 어디서 손을 봐야 할지...
form1,form2는 Available forms 들 입니다..
form1 edit 클릭 이벤트 ....
Application.CreateForm(TForm2, Form2);
form2.formstyle := fsNormal;
form2.visible := False;
form2.ShowModal;
도움부탁드립니다..도움주실줄 믿고 그럼 이만..
감사합니다..꾸벅~~~
경기도 안산에서 지영일 올림
과거(몇달안됨)에는 MDI프로그램을 만들때 메인화면과 서브화면들을 만들어
말씀하신 방법대로 처리하곤 했죠...장단점이 있긴하지만
단점중에 실행파일의 크기와 어떤화면이 변경되더라고 전체 프로그램을
업그레이드를 통해 다시 업어쳐야 하는 부담이 있었죠
요즘은 서브폼은 DLL구조로 많이 갑니다. resource측면에서 상당한 효과가 있죠
자료실이나. 팁부분의 내용을 한번 찾아보심이 어떨지...
--------------------------------------------------------
지영일 wrote:
> 기존의 프로젝트들은 보통 폼 비중을 Auto-create forms는 10%
> Available forms를 거의 90%정도 했던거 같습니다.
> 그런데 우연히 어느책에서 본건데 Createform을 직접 호출하면 커다란 최적화를
> 기대할수 없다고 나오던데요..
> 그럼 메인폼을 제외한 나머지를 Available forms으로 해야 하나요?
> 보통 40~50개 정도의 폼들이 있다고 가정할때 비중을 어떻게 해야 할지.
> Auto-create forms와 Available forms 장단점을 비교해 주셨으면 합니다.
> 우선 델파이가 리소스 관리의 뛰어나다는걸 알지만, 폼을 직접 생성할 이유가
> 없다면 델파이 내부에서 생성되도록 두는 것이 좋을거 같아서..
>
> 그리고 한가지 더 질문드립니다..
>
> 에러발생 Cannot focus disabled or invisible window
> 사용환경 : 델파이4 / Windows 98 / MS-SQL 7.0
> 에러 메시지 : Cannot focus disabled or invisible window
>
> MDIChild(예로 Form1)폼에서 어느 특정한 edit에서 더블클릭시 다른
> MDIChild폼(예로 Form2)을 불러온후
> 어느 결과값을 선택하면 Form2는 close되고 그 결과값을 Form1 edit로 입력되게
> 하려고 합니다..
> 그런데 여기서 Form1의 edit를 클릭하면 에러가 뜨고 Form2 어느 특정한 값을 선택하고
> close할때 다시 한번 에러가 듭니다..
> 에러메세지 박스가 뜨면 확인을 누르고 나면 결과값을 전달이 되긴 되는데...
> Cannot focus disabled or invisible window 이런 에러 메세지가 뜹니다..
> focus 이동의 문제가 있긴 있는거 같은데 어디서 손을 봐야 할지...
> form1,form2는 Available forms 들 입니다..
>
> form1 edit 클릭 이벤트 ....
> Application.CreateForm(TForm2, Form2);
> form2.formstyle := fsNormal;
> form2.visible := False;
> form2.ShowModal;
>
> 도움부탁드립니다..도움주실줄 믿고 그럼 이만..
> 감사합니다..꾸벅~~~
> 경기도 안산에서 지영일 올림
>
>
>