Delphi에서 데드 코드를 찾는 것은 대개 간단합니다. 단지 파란색 점이없는 루틴을 컴파일하고 스캔하십시오. 똑똑한 링커는 대부분 시간을 추적하는 것이 좋습니다.델파이에서 사용되지 않는 이벤트 핸들러를 찾는 방법이 있습니까?
문제는 실제 메서드에서는 거의 발생하지 않지만 RTTI를 통해 (이론적으로) 호출 될 수있는 게시 된 메서드이기 때문에 이벤트 처리기에서 작동하지 않습니다.
나는 구부러지고, 접혀지고, 스핀들 딩되고, 역사적으로 여러 번 절단 된 대형 VCL 폼 유닛을 정리하려고합니다. 실제로 양식의 DFM에 의해 참조되지 않고 삭제되는 이벤트 처리기를 찾을 수있는 방법이 있다면 좋을 것입니다. 이 작업을 수행하는 쉬운 방법이 있습니까? 플러그인 IDE 전문가, 예를 들면?
실제로 RTTI를 통한로드는 실제로 모든 시간에 발생합니다. DFM 리소스를로드 할 때마다 메소드 주소를 RTTI로 이름별로 가져옵니다. 이것이 이벤트 핸들러가 처음부터 가시성을 게시 한 이유입니다. 링커는 DFM 내용을 해석하지 않습니다. 컴파일러도 마찬가지입니다. –
그 모든 것을 알고 있습니다. 제발 과격하지 마세요. 내가 말한 것은 RTTI를 통해 코드의 다른 부분에서 참조하는 것이 었습니다. (수동으로, 달리 말하면.) 그리고 RPC 기술을 사용하지 않는다면 아주 드물게 일어난다. –