Moin,
im Rahmen der Unit TShellChangeNotifyEx, die ich upgeloadet habe (falls jemand den Quelltext sehen möchte!), habe ich versucht, ein paar Methoden per overload zu überschreiben (die Funktionen GetRegisteredChangeNotifyObjects und UnRegisterChangeNotifyObject).
Bei einigen in der Klasse gelang mir das (StopWatching, GetShellChangeEvent, UnregisterRequestorObjects), bei einigen (s.o.) nicht! Der Compiler hat dann beim Aufruf der jeweils zweiten überladenen Methode die Meldung ausgegeben, dass es "keine überladene Funktion gibt, die mit diesen Argumenten aufgerfuen werden kann".
Das kann aber nciht stimmen, denn benennt man diese Funktion einfach um (indem man einen Buchstaben anhängt) und entfernt das overload, meckert der Compiler nicht mehr, die Argument-Liste stimmt also. (Und nur zur Beruhigung: Die Argumente unterscheiden sich genügend, damit der Compiler die richtige Version zuordnen kann. Daran liegt's also auch nicht.)
Verrückt macht mich, dass das bei einigen Methoden funktioniert und bei anderen nicht und ich nicht weiß, woran das liegt und daher in welchen Fällen das künftig ebenfalls Probleme geben kann.
Weiß jemand Rat?
Danke und Gruß, Trutz
Moderiert von
Christian S.: Topic aus Open Source Units verschoben am Fr 09.07.2010 um 09:03
Und aus dem Chaos sprach eine Stimme zu mir: Lächle und sei froh, es könnte schlimmer kommen.