2009-04-18 3 views
3

유닛 파일에서 유용한 지역 컴파일러 지시문을 사용하고자한다면 이전 버전의 델파이에서이 유닛을 사용할 수있는 가장 좋은 방법은 무엇입니까? '괜찮은'접근법이 아닌 것 같습니다. (원하는 IDE 버전은 델파이 7입니다.)델파이 지역 컴파일러 지시문 - 이전 버전과 호환되는 단위 파일?

메서드 정의 도움말 및 버전 기록 주석을 숨기거나 표시하는 방법 정의 위의 영역이 있지만 다른 컴파일러 지시문을 사용하여 Region 지시문을 둘러싸 야합니다. 지역 컴파일러 지시어의 '깨끗함'.

지역을 지원하지 않는 델파이 버전을 사용하는 경우 전처리 기가 모든 지역/EndRegion 지시어를 주석 처리 할 수 ​​있다고 가정합니다. 이후 버전으로 다시 추가 하시겠습니까?

저는 100 % Delphi 2009로 전환하지 않았기 때문에 여러 IDE 버전을 지원해야합니다.

답변

9

D7이 {$ REGION} 또는 {$ ENDREGION}을 (를) 복사하고 싶지 않다고 가정합니다. 나는 D2007/9 만 설치했고 그것을 검사 할 수 없습니다.

이 시도 : 예상대로

{$IFDEF undef}{$REGION 'bla'}{$ENDIF} 
//some code 
{$IFDEF undef}{$ENDREGION}{$ENDIF} 

D2009 편집기 영역을 만듭니다. 'undef'가 정의되어 있지 않으면 D7은 $ REGION/$ ENDREGION을 무시해야합니다.

+1

+1. 한 줄을 긋고 코드 또는 라이브 템플릿으로 만들면 청결을 없애지 못하고 쓰는 데 더 많은 노력을 기울이지 않습니다. – mghie

+0

이것은 원래의 질문에서 언급 한 것처럼 대답으로 표시됩니다. 내 진짜 대답은 현재 지역을 제거하고 시간이 허락함에 따라 2009 년까지 모든 것을 전환하는 것입니다. –

0

거기에 몇 가지 델파이 (7) 편집기 - 향상 - 구성 요소, 거기에 이런 식으로 제공합니다. 나는 GExperts이 그랬다고 생각한다.

코드에 영향을 미칠 경우 {$ I} 대용량 파일을 분리하는 것이 좋습니다.

+0

... 또는 여러 단위로 단위를 분할! 약 $ INCLUDE 지시어를 사용하여, 내 실험에서 $ I이 Delphi IDE에서 제대로 작동하지 않습니다. 예를 들어 코드 탐색기에는 포함 된 파일의 코드를 탐색하는 데 문제가 있습니다. 컴파일러에는 문제가 없지만 Delphi IDE에는 문제가 없습니다. 반대로 Lazarus는 여러 개의 $ INCLUDEd 파일을 사용할 때 아무런 문제가 없으며 일반 .pas 파일처럼 처리 할 수 ​​있습니다. –