Hallo,
Ich habe diese beiden überladenen Methoden (in etwa):
Delphi-Quellcode:
function AddMenuItem(Parent: TTBXSubmenuItem; ItemClass: TComponentClass;
const Caption, Name, Hint: string; Tag, ImageIndex: Integer;
OnClick: TNotifyEvent; ImageList: TImageList): TComponent; overload;
function AddMenuItem(Parent: TTBXSubmenuItem;
ItemClass: TComponentClass; Action: TBasicAction; const Name: string;
Tag: Integer; Images: TImageList): TComponent; overload;
Versuche ich nun die erste Methode so aufzurufen:
AddMenuItem(nil, nil, '', '', '', 0, -1, nil, nil);
Das quittiert der Compiler mit:
Zitat:
[Fehler] Unit4.pas(78 ): E2250 Es gibt keine überladene Version von 'AddMenuItem', die man mit diesen Argumenten aufrufen kann
Schreibe ich das so, gehts:
AddMenuItem(nil, nil, '', '', '', 0, -1, TNotifyEvent(nil), nil);
Lasse ich die Überladung weg, habe also nur noch eine AddMenuItem Methode, geht es auch ohne den Type-Cast.
Ich konnte das mit Delphi 6, 7 und 2005 reproduzieren.
Schlimm ist es ja nun nicht, aber merkwürdig finde ich das schon...
Also, wo liegt die Ursache dieses "Phänomens"?
mfG
mirage228