2009-05-18 5 views
11

프로젝트에 새 양식을 추가 할 때마다 uses 절에 상용구가 크게 삭제됩니다.새 양식에 대한 상용구의 "사용"을 어떻게 줄일 수 있습니까?

uses 
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
    Dialogs; 

누가 정기적으로 유사한 형태로 변형 유닛을 사용합니까? 나는 일반적으로 Windows, 메시지, 변형, 그래픽 및 대화 상자를 제거하고 결코 놓치지 않습니다.

어딘가에 템플릿 파일이 나올 것입니다.하지만 찾을 수없는 것 같습니다. 누구든지 템플릿을 찾고 편집 할 수있는 곳을 알고 있습니까? 최근에 변경된 경우를 대비하여 D2009를 사용하고 있습니다.

답변

13

해당 리소스는 $ (BDS) \ bin \ delphivclide * .bpl에 있으며 "VCLIDECMD"로 명명됩니다. 원하는 리소스 편집기로 추출, 편집 및 업데이트 할 수 있습니다 (Pelles C에 포함 된 것을 권장합니다).

C++ Builder 사용자의 경우 템플릿 파일은 bcbvclide * .bpl에서 "CPPVCLIDECMD"입니다.

RAD Studio의 지역화 된 버전을 사용하는 경우 해당 언어 리소스 파일 (* .DE, * .FR 또는 * .JA)을 확인하십시오.

5

Windows메시지을 제거하면 아무 것도 저장하지 않습니다. 그래픽대화 상자은 양식에 놓은 구성 요소에 따라 다시 추가 될 수 있으며, 어쨌든 참조하는 것이 좋습니다. 당신이 그들을 제거함으로써 많은 것을 저장하고 있는지 의심하십시오. 변종을 사용하고 있지 않다면 제거하십시오 (COM 또는 DB 개발을 수행하지 않는 한 매우 일반적입니다).

나는 모두 uses 절을 청소하려는 목적에 달려 있다고 생각합니다. 변종은 실제로 응용 프로그램에 영향을 줄 수있는 유일한 것입니다.

기본 템플릿을 변경하는 한 TForm에서 내림차순으로 설정하면 패키지를 가져 오는 패키지에 있다고 생각합니다. 대부분 .PAS 파일을 수정하고 VCL 패키지를 다시 작성해야합니다. 아주 작은 이익을 위해 많은 일.

+0

를 너무 많이 귀찮게하지 말 것, 그는 단지 청소기 자동 생성 된 코드를 원한다. –

+1

폭스 : 예, 그렇습니다. 짐 : 모리츠의 방법이 효과가 있다면 실제로 그렇게 많은 노력을 기울이지 않고 한 번만해야합니다. –

5

일반적으로 프로젝트를 마친 후 cnPack과 함께 나오는 "Cleaner"를 사용합니다. 일반적으로 프로젝트를 마무리 할 때 언급하지 않은 큰 단위가있을 수 있기 때문에 프로젝트의 사용되지 않은 모든 유닛에 대한 목록을 제공합니다.

+1

이 방법으로 인해 위험합니다. 이러한 도구는 사용 된 장치의 초기화 또는 최종화 섹션을 실행해야하는지 여부를 절대로 분석 할 수 없습니다.유닛을 사용에서 제거하면 초기화 및 종료 섹션을 실행하지 않아 버그가 발생할 수 있습니다. –

+2

흥미로운 점은 있지만, 실제로 아무데도 사용되지 않는 유닛의 초기화에 의존한다면 IMO는 리팩토링이 필요하다. –

+0

@Mason : FastMM4 나 Andreas의 VclFixPack 같은 패치를 자동으로 설치하는 데 사용되는 단위 일 필요는 없습니다. Vista/Windows2008에서 실행될 때 InitializeCriticalSectionEx에 의한 InitializeCriticalSection 호출을 동적으로 바꾸기 위해이 트릭을 사용했습니다. 승인 된 경우 양식 단위보다 dpr에서 발생할 가능성이 큽니다. –

0

실제로, 저도 나를 귀찮게했습니다.

하지만 기본 단위로 컴파일 된 실행 파일 크기를 확인한 다음 (메시지, 변형, Grahpics) 크기를 확인하지 않고 크기를 훨씬 줄이지 않았습니다.

Dialogs.pas는 몇 킬로바이트를 추가하지만 Windows API보다 자주 델파이 VCL 대화 상자를 사용합니다.

그래서, 내가 그들을 내가 메이슨 휠러는 실행 파일 크기를 줄이고 싶어 생각하지 않는다