![]() |
Delphi-Version: 10.2 Tokyo
Hinweis bei Aufruf einer Funktion
Moinsen,
ich werkel gerade an einer recht umfangreichen Lib. Dabei steh ich vor dem Problem, das ich dem Anwender (Programmierer einer App), einen Hinweis ausgeben möchte.
Delphi-Quellcode:
gibt die Meldung immer aus, egal ob Funktion aufgerufen wird oder nicht.
{$MESSAGE HINT 'Hinweis'}
Ich möchte den Hinweis aber ausgeben, wenn die Funktion von der App auch wirklich genutzt wird. Kennt jemand da eine Möglichkeit sowas zu bewerkstelligen ? |
AW: Hinweis bei Aufruf einer Funktion
Du kannst eine Methode
Delphi-Quellcode:
oder
experimental
Delphi-Quellcode:
(mit zusätzlicher Meldung) markieren.
deprecated
|
AW: Hinweis bei Aufruf einer Funktion
Beides würde mich als Entwickler aber davon abhalten diese Funktion produktiv einzusetzen. Und das ist wohl nicht im Sinne von Ghostwalker.
|
AW: Hinweis bei Aufruf einer Funktion
Was soll mit diesem Hinweis bezweckt werden?
Was für eine Problem gibt es wenn diese Funktion genutzt wird? Mein Erfahrung ist das solche Hinweise fast immer Ignoriert werden. |
AW: Hinweis bei Aufruf einer Funktion
Wenn es ein Hinweis auf irgendeine Vorbereitung sein soll, dann würde ich das in dieser Funktion überprüfen und eine entsprechende aussagekräftige Exception werden.
|
AW: Hinweis bei Aufruf einer Funktion
@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:
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.
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; 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:
Delphi-Quellcode:
oder
{$MESSAGE HINT CALL 'Mein Hinweis'}
Delphi-Quellcode:
Der 1.Parameter gibt an, um was es sich handelt (HINT|WARNING|ERROR). Der zweite gibt an, wann das ganze
function Blubb:boolean;CMESSAGE HINT CALL 'Mein Hinweis';
ausgegeben werden soll (CALL = Aufruf der Funktion/Prozedur/Operator oder COMPILE beim compilieren der Funktion. Schließlich die Nachricht, die ausgegeben werden soll. |
AW: Hinweis bei Aufruf einer Funktion
Help-Insight / Documentaion-Insight
Delphi-Quellcode:
Da man Klassenoperatoren aber nicht direkt aufruft (der Methodenname steht nicht im aufrufenden Quelltext),
/// <summary>
/// bla bla bla /// </summary> Class Operator Add(const left:Seconds;const right:int64):Seconds würde dieser Hilfetext wohl nirgendwo zu sehen sein. (hier also nur zur Dokumentaion beim Ansehen des Quellcodes) |
AW: Hinweis bei Aufruf einer Funktion
Hätte ich auch gesagt. API-Dokumentation und/oder ein Wiki. Wer die Anleitung nicht liest, Quelltext in den Editor wirft und dann sagt "Hurra, er kompiliert. Wir liefern aus" ist selber schuld 8-)
|
AW: Hinweis bei Aufruf einer Funktion
Zitat:
:stupid: Sherlock |
AW: Hinweis bei Aufruf einer Funktion
Zitat:
Gut Dokumentieren das der Nutzer gleich sieht was er nutzt. Evtl. den Methodennamen passend wählen das man sowas schon aus dem Namen ableiten könnte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz