2013-09-30 1 views
0

현재 모든 패키지없이 빌드 된 100 개 이상의 델파이 (XE2) 프로젝트 세트를 살펴 봅니다. 여러 실행 파일과 DLL에는 크기에 수 메가 바이트를 추가하는 일부 대형 타사 구성 요소 세트가 포함되어 있습니다. 우리의 설치 프로그램은 10MB를 넘는 실행 파일과 4MB 정도의 파일, 1 ~ 2MB의 파일이있는 100MB가 넘습니다. 제 3 자 구성 요소와 VCL에 대한 패키지 사용을 고려 중입니다. 일반적으로 시각적 구성 요소는 DLL이 아닌 실행 파일에서만 사용됩니다. 일부 DLL은 다른 언어에서 호출되기 때문에 DLL을 DLL로 유지해야합니다.Delphi 패키지를 사용할 때 발생할 수있는 문제점은 무엇입니까

패키지를 사용하도록 전환하는 경우주의해야 할 주요 고려 사항과 위험은 무엇입니까? 무엇이 깰 수 있을까요? 디버깅, 테스트, 빌드 (FinalBuilder 사용) 또는 유지 관리의 편리성에 영향을 줍니까? 링커가 필요로하는 단위 대신에 런타임에 전체 BPL을로드 할 것이기 때문에 런타임 메모리 사용률이 용납 될 수 없을만큼 증가할까요?

유일한 진실한 대답은 특정 응용 프로그램에서 시도 할 때 발생한다는 점을 알고 있지만,이 경로를 사용하지 않았거나 다른 사람으로부터 조언을 얻은 경우 크게 감사하겠습니다.

+1

간단한 대답은 크기와 단순성을 교환한다는 것입니다. 설치 프로그램의 크기를 줄일 수 있지만 복잡성이 크게 증가합니다. –

+0

예, 저는 그 트레이드 오프를 알고 있습니다. 그래서 나는 어려움이 실제로 무엇인지 보여주는 몇 가지 예를 강조한 답을 찾고있었습니다. – frogb

+1

많은 어려움이 있습니다. 나는 아무도 아직 위장을 가지고 목록을 작성하려고하지 않았다고 생각합니다. 이와 같이 개방 된 질문은 많은 열의를 일으키지 않는 경향이 있습니다. –

답변

1

전염병과 같은 런타임 BPL을 피합니다. 그 이유는 다음과 같습니다.

A. 버전 관리에 대해 생각해 봐야합니다. 누군가가 BPL 또는 EXE를 업데이트하고 다른 것은 업데이트하지 않으면 어떻게됩니까?

B. DLL 지옥에 대해 생각해 봐야합니다. 귀하의 경로는 무엇이며 동일한 폴더에있는 응용 프로그램의 모든 부분입니까, 아니면 경로의 디렉토리에 있습니까?

C. 런타임에 하나 이상의 파일이 누락 될 가능성에 대해 생각해 봐야합니다. 이로 인해 대개 응용 프로그램이 손상됩니다. 어떤 사람들은 이것을 실제로 좋은 효과를 내기 위해 사용합니다 (X 피쳐를 지불하지 않은 일부 고객은 BPL을받지 못합니다). 그러나 대부분이 문제의 또 다른 원인 일뿐입니다.

D. VCL 소스의 버그를 수정해야하는 경우 VCL BPL을 재미있는 유지 보수 프로그래밍 활동 목록에 다시 추가 하시겠습니까?

E. 내가 일한 하나의 대형 BPL 기반 응용 프로그램에서 주요 EXE와 모든 플러그인 BPL 하위 부품이 하나의 프로젝트 그룹에서 열렸으므로 그 당시 델파이 (XE)가 거의 없었습니다. 마찬가지로 크고 단일 실행 가능한 프로젝트를로드했을 때보 다 더 안정적입니다. IDE 문제는 전례가없는 일이 아니며 특히 프로젝트 그룹의 여러 항목 간의 종속성이 발생하는 곳에서 발생합니다.

패키지 사용에 대한 개념이 생길 때마다 나는 좋은 딱딱한 음료와 프로그래밍으로 8 시간의 휴식 시간이 충분하다는 것을 알게되었습니다.

+0

많은 감사. 그걸 요약하는 것처럼 보이고 마지막 문장의 조언에 따라 제 마음이 만들어졌습니다. – frogb