보고서 생성을 위해 FastReport를 사용합니다. 실제로 우리는 소스 코드에 대한 액세스 비용을 지불합니다.
현재 FastReport의 안정적인 최신 버전을 사용하고 있습니다. 그리고 우리 프로덕션에서는 충분히 안정적이지만 컴파일 할 때마다 다음과 같이 보입니다.
[dcc32 Hint] fs_iinirtti.pas(369): H2443 Inline function 'TList.Remove' has not been expanded because unit 'System.Types' is not specified in USES list
[dcc32 Hint] fs_iclassesrtti.pas(656): H2443 Inline function 'TList.Remove' has not been expanded because unit 'System.Types' is not specified in USES list
[dcc32 Hint] fs_iclassesrtti.pas(1014): H2443 Inline function 'TList.Remove' has not been expanded because unit 'System.Types' is not specified in USES list
[dcc32 Hint] fs_idialogsrtti.pas(159): H2443 Inline function 'TList.Remove' has not been expanded because unit 'System.Types' is not specified in USES list
[dcc32 Hint] fs_igraphicsrtti.pas(252): H2443 Inline function 'TList.Remove' has not been expanded because unit 'System.Types' is not specified in USES list
[dcc32 Hint] fs_iformsrtti.pas(429): H2443 Inline function 'TList.Remove' has not been expanded because unit 'System.Types' is not specified in USES list
나는 힌트의 팬이 아니며 내 코드에서 경고가 훨씬 적습니다. 물론, H2443 힌트는 아마도 가장 문제가되는 힌트는 아니지만 여전히 제거하고 싶습니다.
다행히도 우리 자신의 코드 였다면 H2443은 수정하기가 쉽지 않습니다 (요청하는 참조를 추가하기 만하면됩니다). 그러나이 시나리오에서는 타사 소스 코드에 액세스 할 수 있지만 갑자기 변경하는 것은 부적절하다고 느낍니다 .
그래서 저는 궁금합니다. FastReport 개발자가 오류없이 새 버전을 릴리스 할 때까지 기다려야합니까 아니면 직접 수정 한 다음 새 버전이 릴리스 될 때 소스 파일의 복사본을 덮어 써야합니까?
이 질문은 타사 라이브러리에서 힌트 / 경고를 처리하는 방법에 대해 기술적으로 일반화 될 수 있다고 생각합니다. 개발자에게 알리는 것을 생각했지만 이것은 오픈 소스 / 자유 소프트웨어 프로젝트가 아니므로 몇 달 동안 수정되지 않을 것입니다.
(공정하게 말해서, 이전 버전에서 훨씬 더 많은 힌트가 있었으므로 적어도 올바른 방향으로 나아가는 단계가 있습니다.)
이것은 Delphi 개발자들 사이에서 자주 보는 일반적인 실수입니다 (또한 많은 타사 공급 업체도 그렇게 잘못합니다). 프로젝트를 빌드 할 때마다 타사 라이브러리를 컴파일하는 이유는 무엇입니까?
DCU를 사용하십시오. 소스에서 분리하고 라이브러리 경로를 DCU가 포함 된 디렉토리로 지정하십시오. 이는 빌드 프로세스의 속도를 높일뿐만 아니라 (타사 소스를 다시 컴파일하지 않고 DCU를 사용하기 때문에) 타사 라이브러리의 메시지로 프로젝트를 넘치지 않습니다.
이러한 구성 요소의 소스로 들어가고 싶다면 (내 경험으로는 원하지 않는 경우가 많음) 탐색 경로에 소스를 추가하고 사용중인 DCU를 디버그 및 릴리스 할 수도 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다