AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [dcc64 Hint] - H2077 Value assigned to 'XYZ' never used
Thema durchsuchen
Ansicht
Themen-Optionen

[dcc64 Hint] - H2077 Value assigned to 'XYZ' never used

Ein Thema von philipp.hofmann · begonnen am 28. Jan 2021 · letzter Beitrag vom 28. Jan 2021
Antwort Antwort
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
912 Beiträge
 
Delphi 10.4 Sydney
 
#1

[dcc64 Hint] - H2077 Value assigned to 'XYZ' never used

  Alt 28. Jan 2021, 10:23
Hi,

wie kann es zu einem Hint beim Kompilieren kommen, wenn ich diese eigentlich an der Stelle ausgeschaltet habe?

Code:
[dcc64 Hint] myIcTrainer.pas(33130): H2077 Value assigned to 'bugInfo' never used
[dcc64 Hint] myIcTrainer.pas(33126): H2077 Value assigned to 'bugInfo' never used
[dcc64 Hint] myIcTrainer.pas(33115): H2077 Value assigned to 'bugInfo' never used
[dcc64 Hint] myIcTrainer.pas(33105): H2077 Value assigned to 'bugInfo' never used
[dcc64 Hint] myIcTrainer.pas(33095): H2077 Value assigned to 'bugInfo' never used
[dcc64 Hint] myIcTrainer.pas(33087): H2077 Value assigned to 'bugInfo' never used
Delphi-Quellcode:
  {$HINTS OFF}
    bugInfo:=5;
  {$HINTS ON}
Der Hint stimmt auch nur bedingt. Ich fange in der Methode eine Exception und über diesen Integer-Wert sehe ich dann auch in Logs, welche Teile des Codes durchlaufen worden sind.
Nur wenn es keine Exception gibt, stimmt der Hint soweit. Wäre mir ja egal, wenn ich ihn ausblenden könnte.

Grüße, Philipp
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#2

AW: [dcc64 Hint] - H2077 Value assigned to 'XYZ' never used

  Alt 28. Jan 2021, 11:25
Du musst die Hints über den gesamten Scope von bugInfo abschalten. Genau genommen geschieht die Nicht-Verwendung ja auch außerhalb deiner {$HINTS OFF/ON}-Klammer.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
912 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: [dcc64 Hint] - H2077 Value assigned to 'XYZ' never used

  Alt 28. Jan 2021, 13:00
Danke, dies war mir nicht bewusst.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#4

AW: [dcc64 Hint] - H2077 Value assigned to 'XYZ' never used

  Alt 28. Jan 2021, 16:55
Jupp, die Meldungen kommen von ja erst später. (dort wo du zuweist, weiß ja noch niemand, was nachher passiert)
* entweder bei der nächsten Zuweisung, oder am Ende des Scopes, wo die Variable wegfliegt und wo jetzt erst erkannt wird, dass der letzte zugewiesene Wert nirgendwo benutzt wurde.

Aber willst du nicht lieber den Fehler beheben, anstatt nur die Fehlermeldung auszublenden?
Also diese Zuweisung entfernen, da sie ja eh nutzlos ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.164 Beiträge
 
Delphi 12 Athens
 
#5

AW: [dcc64 Hint] - H2077 Value assigned to 'XYZ' never used

  Alt 28. Jan 2021, 17:09
Aber willst du nicht lieber den Fehler beheben, anstatt nur die Fehlermeldung auszublenden?
Ich sehe gerade diese Meldung auch als sehr nervig, weil ich oft Test-Code einbaue der dann immer mit so einer blöden Meldung während der Entwicklung hochpoppt.

Wenn man die HINTs so wegcklicken könnte wie die Warnings wäre das ein großer Fortschritt.

Warnings klicke ich nämlich grundsätzlich nie weg, sondern sehe sie als Fehler an,
aber insbesonderes dieses Hint würde ich im DEBUG wegclicken und in RELEASE bereinigen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#6

AW: [dcc64 Hint] - H2077 Value assigned to 'XYZ' never used

  Alt 28. Jan 2021, 18:08
Standardmäßig sind in den Profilen Debug und Release auch passende DEFINEs eingetragen. (Projektoptionen > Erzeugen > Delphi-Compiler : Bedingungen)

Somit wäre es möglich die Hints im Debugmodus auszublenden.
Einfach ein {$IFDEF DEBUG} {$HINTS OFF} {$ENDIF} oben in die Unit rein.

Da aber Viele im Delphi nur im Debug-Modus arbeiten
und das Release z.B. von einem BuildTool compilieren lassen, wo sie auch noch vergessen sich die Meldungen ausgeben zu lassen und wenn doch, soe dann meistens sich garnicht ansehen ...
Also da wäre es dann besser sich unter Debug noch ein weiteres Profil anzulegen und sich dort ein eigenes DEFINE einzutragen und das dafür zu nutzen.

Basis
* Debug
* * DebugWithoutHints
* Release

Bei uns heißt soein Profil inzwischen DebugWithoutEurekalog, weil der Dreck mich im Debugger seit Jahren zur Verzweiflung bringt, mit all den kranken Hooks und wo man beim Fehler dann oft im Code von Eurekalog landet und dann ewig braucht, bis zur eigentlichen Fehlerstelle (falls man es bis dahin überhaupt noch schafft).


Besser wäre es aber, wenn man es bei den Hints genauso machen könnte, wie mit den Warnings,
also nur das abschalten, was "nervt", anstatt einfach Alles zu deaktivieren.
z.B. statt {$WARNINGS OFF} geziehlt ein {$WARN SYMBOL_PLATFORM OFF} , weil es totaler Schwachsinn ist, dass in einem Windows-Only-Programm sich ständig der Compiler über plattformabhängigen Code aufregt.
Man nehme also aus der Warnung den "Code", schlage nach was dazu die Option ist, und nehme das dann, damit alle anderen wichtigen Warnungen/Hinweise weiterhin angezeigt werden.
http://docwiki.embarcadero.com/RADSt...sages_(Delphi)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Jan 2021 um 18:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07: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 by Thomas Breitkreuz