Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 155699
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T10:12:06+00:00 2026-05-11T10:12:06+00:00

Finding dead code in Delphi is usually real simple: just compile and then scan

  • 0

Finding dead code in Delphi is usually real simple: just compile and then scan for routines missing their blue dots. The smart linker’s very good about tracking them down, most of the time.

Problem is, this doesn’t work for event handlers because they’re published methods, which (theoretically) could be invoked via RTTI somehow, even though this almost never happens in actual practice.

I’m trying to clean up a large VCL form unit that’s been bent, folded, spindled and mutilated various times throughout its history. It would sure be nice if I had some way to find event handlers that aren’t actually referenced by the form’s DFM and delete them. Is there any easy way to do this? A plug-in IDE Expert, for example?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T10:12:07+00:00Added an answer on May 11, 2026 at 10:12 am

    I dont think this is possible from an automatic point of view. event handlers are activated when a particular event occurs inside an object. That the even is not triggered in a given run doesnt mean that there isnt an execution pathway to lead to it.

    also you can assign handlers dynamically at runtime so whats used in one situation is not garuanteed.

    e.g.

    button.onclick := DefaultClickHandler;

    button.onClick := SpecialClickHandler;

    Assuming that the click handlers match the onclick event signature, but you wouldnt get a compile if the signature was incorrect.


    however, you can probably find all the abandoned handlers by looking for all the methods that find have a (Sender: TObject) method signature and comparing that his of methods to those in the .dfm (make sure you save it as text if you are working with an older version of delphi), antyhing not wired up automatically would be suspect in my book.

    —

    if you dont want to go down the cygwin path, you can load the src and dfm into two TStirngLists and rip out the name/idents from each and generate a list with a couple of loops and some string manipulations. my guess is about 20 minutes of work to get something you can live with .

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 95k
  • Answers 95k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Edit (11 years later): Don't do this unless you're going… May 11, 2026 at 7:03 pm
  • Editorial Team
    Editorial Team added an answer Firebug can do that. Open the HTML-tab, select the element… May 11, 2026 at 7:03 pm
  • Editorial Team
    Editorial Team added an answer Try using the "Accept-Language" header sent by the browser to… May 11, 2026 at 7:03 pm

Related Questions

I have a table with many values inside of it that might have single
What tool would you recommend to detect Java package cyclic dependencies , knowing that
Afternoon, Lets say I have gather a random selection of users: User.find(:all, :limit =>
Is there Anyone that has experience with any open source, or relatively cheap voice

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.