@Bernhard
Sinn und Zweck der Meldung sind 2 Dinge. Zum einen einfach als Info, das sich der Anwenderprogrammierer nicht wundert, wenn "Äpfel + Birnen" tatsächlich funktioniert. Zum anderen aber auch als Hinweis, das man hier, je nach Anwendung, ggf. Optimierungspotenzial hat.
Im konkreten Fall gehts um Operatoren mehrer Typen, die untereinander via Basistyp verknüpft sind.
Beispiel:
Delphi-Quellcode:
Type
Seconds = Record
private
fvalue : int64;
public
Class Operator Add(const left:Seconds;const right:int64):Seconds
end;
Minutes = Record
private
fvalue : int64;
public
Class Operator Add(const Left:Seconds;right:Minutes):Seconds //<-- hier würde beim Aufruf ein Hinweis kommen
end;
Beim Aufruf von Minutes.Add würd ich gern einen Hinweis ausgeben, das die Minuten quasi umgerechnet werden, um die Operation durch zu führen.
So wie es aussieht ist
deprecaded wohl die einzige Alternative, da man hier einen eigenen Text angeben kann (library usw. erlauben das nicht).
Im prinzip bräuchte ich was wie:
{$MESSAGE HINT CALL 'Mein Hinweis'}
oder
function Blubb:boolean;CMESSAGE HINT CALL 'Mein Hinweis';
Der 1.Parameter gibt an, um was es sich handelt (HINT|WARNING|ERROR). Der zweite gibt an, wann das ganze
ausgegeben werden soll (CALL = Aufruf der Funktion/Prozedur/Operator oder COMPILE beim compilieren der Funktion. Schließlich die Nachricht, die ausgegeben werden soll.