<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Am 18.10.2025 um 22:39 schrieb Bart via
      fpc-devel:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAMye31zS5g=OMGbp0tx+xadXpQcj3F1Qpik_wT_ie4nagZOjkA@mail.gmail.com">
      <pre wrap="" class="moz-quote-pre">On Fri, Oct 17, 2025 at 9:33 PM Sven Barth via fpc-devel
<a class="moz-txt-link-rfc2396E" href="mailto:fpc-devel@lists.freepascal.org"><fpc-devel@lists.freepascal.org></a> wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">David's problem is *not* due to a corruction or a bug, but due to an
optimization that FPC performs that leads to different behavior, namely
changing virtual methods that are empty to EmptyMethod to reduce the
number of duplicate (empty) methods in the binary.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Does that mena that such a check is in essence invalid?
IIRC then we have such a check in TCustomEdit in LCL....</pre>
    </blockquote>
    <span style="white-space: pre-wrap">
Well, the language does neither explicitly forbid nor allow it...

So you'd have to do a more complete check that includes both the real base method as well as System.EmptyMethod. Maybe best move the general check to a separate function which gets passed both method pointers and then compares those as well as the base one against EmptyMethod.

Regards,
Sven</span>
  </body>
</html>