음...
[자동생성에 관하여]
델파이 , C++Builder에서는
프로젝트메인함수에서 Form과 Data모듈 생성코드가 자동으로 만들어 주는 기능이 있습니다.
프로젝트 옵션에서 자동생성여부와 생성순서를 결정해줄수도 잇고
직접 프로젝트메인함수가 있는 유닛(예 - Project1.cpp )을 열어서 수정할수도 있습니다.
[자동생성이 주는 문제점]
그런데 개발을 하다가 보면
자동생성과 관련해서 문제를 종종 일으키는 경우가 있습니다.
1) 생성하지 않았다고 생각하고 코딩으로 Form이나 Data모듈을 생성했는데..이중으로 생성이 되거나
2) 생성되지 말아야 하는데 생성이 되는경우도 있고,
3) 자동으로 생성되었다고 생각하고 access하였는데.. 생성되어있지 않는 경우로
access-violation이 발생하는 경우도 종종 있더군요
[자동생성의 문제 해결방법]
근본적으로 자동생성이 주는 문제 해결방법은 없는것 같습니다만
유닛이 추가될때마다
프로젝트 옵션의 Forms를 확인해보거나
개발자가 메인함수(winMain)가 있는 프로젝트.cpp( Prjoject1.cpp 등)파일을 자주 확인해야 할것 같습니다.
[Module creation options]
빌더(RadStudio)에서는 폼이나 데이타모듈에 관해 이 옵션이 적용되는데요
기본적으로 유닛을 추가하면 auto-Create 되도록 tool-options에 설정되어있습니다.
이를 변경하려면 다음 설정을 변경하시면 됩니다.
보통 여러개의 폼(모듈)의 인스턴스를 딱 하나만 생성하고 쓰는 경우엔
Auto-Create forms를 쓰고
메인폼 이외에 폼들을 new로 생성해서 쓰는경우
같은 class에 여러 인스턴스를 생성해서 쓰는 경우가 많은경우에는
auto-create forms을 해제하고 쓰는것이 좋을것 입니다.
프로젝트에 따라 프로그램 성격이 틀리고,
회사마다 프로젝트 개발성향이 틀리더군요
그럼..
|