Part2
FireDAC single connection on MDI Form
Project Sample Source Download
MDI Form 프로젝트를 BPL 패키지 방식으로 만들면 기존 DLL 방식 보다 간편하고 안정적인 MDI 프로젝트 생성이 가능해 집니다.
각 Child 폼들은 각각의 패키지 프로젝트로 구성 되어 빌드시 .bpl 타입의 독립 모듈이 생성 됩니다.
따라서 각각의 Form들을 별도의 프로젝트로 구축 할 수 있으므로 Form이 많은 대형 프로젝트에서 분업화 된 작업이 가능하며 메인 Form의 .EXE 사이즈도 적은 용량으로 유지 보수가 좀 더 편리 합니다.
물론 BPL은 델파이 내부에서만 사용되며 그래서 더욱 연동에 유리 합니다.
또한 각각의 Child Form들은 Main 폼에서 생성한 FireDAC 커넥션을 사용 할 수 있어 단일 커넥션으로 데이터베이스 접속이 가능 합니다.
데모 영상은 1부와 2부로 나뉘어져 있고 영상을 먼저 시청하고 아래 요약된 내용을 보시면 쉽게 이해 할 수 있습니다.
1부는 BPL MDI 프로젝트를 구축 하는 방법이고
2부는 작성된 MDI Form 에서 단일 커넥션으로 각각의 Child Form들이 데이터베이스에 접속 하는 방법을 소개 합니다.
샘플프로젝트는 즉시 실행 해 볼 수 있도록 편의상 SQLite를 사용 하였으므로 실무에서는 사용 가능한 RDB를 이용하면 됩니다.
Part 1. BPL 로 MDI Project 만들기
1. 프로젝트 폴더 분류
- Output 폴더 생성 : Exe 및 BPL 위치로 사용
2. Main Form 프로젝트 생성
- FormStyle : MDIForm 설정
- 프로젝트 옵션 > Output Directory 지정
2. Child Form 프로젝트 생성
- 프로젝트 그룹에서 Add New Project > Pacjage 선택
- bpl 프로젝트 Contains 우클릭 > Add New > VCL Form 으로 새폼 추가
- FormStyle : MDI Child 설정
- 프로젝트 옵션 > Package Output 폴더 지정
- 패키지 프로젝드 빌드 : 패키지 등록창에서 OK 선택.
3. 같은 방법으로 Child Form 프로젝트 1개 더 생성
4. Main Form 프로젝트
- Project Option > Packages > RunTime Packages > Link with RunTime Packages : TRUE 설정
- 프로젝트 정상 빌드 확인.
5. Main Form 프로젝트 화면 및 소스 작업 (상세내용 샘플 프로젝트 참조)
- TMainMenu 로 Child 창을 열기 위한 풀다운 메뉴 생성
- 각 메뉴 클릭시 Child Form 호출
6. Child Form 프로젝트 화면 및 소스 작업 (상세내용 샘플 프로젝트 참조)
- Initialization 와 finalization 추가
- Form OnClose 이벤트에 Form 메모리 제거
7. 실행
- Child Form 프로젝트 및 Main Form 프로젝트 각각 빌드
- 실행은 Main Form 프로젝트 (.Exe)
- Child Form 프로젝트만 변경시 해당 bpl 프로젝트만 개별 빌드 하면 됨, 단 Main Form Exe는 재실행
Part 2. 각 Child Form에서 단일 Connection 으로 FIreDAC 사용하기
1. Main Form 프로젝트
- TFDConnection 으로 Database Connetion 설정
2. Child Form 프로젝트
- Main Form 프로젝트에서 설정한 TFDConnection 커넥션 지정
Ex) TFDQuery 의 Connection을 "MForm.FDConnection1: 으로 지정 (상세내용 샘플 프로젝트 참조)
정보 감사합니다.
답글삭제좋은 내용 감사합니다. 궁긍한 점이 있어서요.
답글삭제child1 에서 TFDQuery 의 Connection 부분을 object inspector가
아니라 코딩으로 child1 form create에 하고 싶은데,
어떻게 해야 하나요?