Seit Delphi 12 wird bei Typen auch der Alias-Name genommen, nicht der Name des eigentlichen Typs.
Wird nun also ein Event generiert, dann verwendet es den AliasNamen in der generierten Signatur.
Für den Designer sieht es so aus, als wäre es ein
TBaseInfoNode = type dcntree.TDCTreeNode;
.
Dem Compiler ist es egal, da es der "gleiche" Typ ist,
aber die Hilfsfunktionen des Form-Designers, meckern hier bissl rum.
Vielleicht ist dir aufgefallen, dass auch CodeInsight und HelpInsight dir nun den Alias zeigen, anstatt den "echen" Typ.
z.B. beim PostMessage das LPARAM, WPARAM und LRESULT, anstatt Integer, wie früher.
https://quality.embarcadero.com/brow...ncompatible%22
Siehe die Antwort von Marco Cantù.
Bin mir sicher, dass es da auch noch dutzende andere Issues dazu gab.