C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74385] [질문] 같은 기능을 하는 하나의 클래스에 서로 다른 2개 폼 사용하는 방법은?
Gaeseong Park [] 3719 읽음    2017-06-01 14:31
안녕하십니까, 아직 C++ 빌더에 익숙치도 C++에도 익숙치 않은 개발자입니다.

제가 이렇게 회원가입을 하고 처음으로 글을 남기게 된 것은 쥬니어급 프로그래머 혼자(저)서 20여년 전에 개발된 프로그램을 업그래이드 하기 위해서입니다. 먼저 질문을 하게된 핵심 기능의 요구사항은 아래와 같습니다.

같은 기능을 하는 화면을 보다 세련되게 바꾸는 작업을 해서 2개의 프로그램버전 (ex 6.4 => 7.2) 이 있는데 이제 최신 버전(Ex 7.3)에서 6.4 화면UI 디자인에 익숙한  사용자들을 7.3으로 Update하면서도 거부감 없이 사용하게 하기 위해서입니다.

혼자 고민을 하다보니 이런 저런 생각이 나기는 하지만 프로그램이 C++ builder 6를 사용해서부터 만들다가 2010으로 마이그레이션을 했고 두개 버전이 따로 가는 것 보다는 하나로 합치고자 UI디자인을 사용자가 Run Time에 고를 수 있도록 (여타 프로그램의 테마기능 참고) 해 보고자 하였는데 좋은 아이디어 있으면 조언 부탁드립니다.

먼저 제가 생각해 본 사항들과 제약사항입니다. (틀릴 수 있으니 아래 부분에서 잘못된 부분도 지적해주면 감사히 배우겠습니다.)

1. 2개의 dfm파일을 하나의 Unit이 가질 수 있게 하는 것 -> 런타임에 폼 결정되는게 아니다.
아래의 링크를 자료조사시 찾아보았지만 컴파일 타임에 폼을 결정하는 것 같은데 확실치가 않습니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tutorial&no=218

2. unit을 추가 하여 추가한 유닛의 이름을 예전테마로 알맞게 이름을 바꾸고 Code를 연결하여 사용하는 방식
=> Code의 연결이 가능한지? 가능하다면 어떻게 하는지 기술적으로 난해함 (본인에게)

3. 상속을 이용
Form을 상속받는 방법을 활요 해 보려고 하였습니다 => 이 부분도 기술이 부족하여 난해합니다.

4. 하나의 dfm파일에 UI컨트롤을 복사 붙여넣기하여 하드코딩으로 위치 변경하여 디자인만 바꾸기
=> dfm파일이 지저분해지고 수정이 용이하지 않으며 하드코딩이 많아져서 지양함.


기존의 Code가 양도 많을 뿐 아니라 함수화 모듈화가 잘 되어있지 않은 상황이라 어디서부터 어떻게 손을 대야  짦은 시간안에 효율적으로 Thema기능을 구현하여 2개의 Form을 번갈아 보여줄 수 있을지 많은 조언 부탁드립니다.

+ -

관련 글 리스트
74385 [질문] 같은 기능을 하는 하나의 클래스에 서로 다른 2개 폼 사용하는 방법은? Gaeseong Park 3719 2017/06/01
74399     Re:[질문] 같은 기능을 하는 하나의 클래스에 서로 다른 2개 폼 사용하는 방법은? 빌더(TWx) 3747 2017/06/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.