AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Teilweise in einer Unit keine blauen Punktte, aber warum?
Thema durchsuchen
Ansicht
Themen-Optionen

Teilweise in einer Unit keine blauen Punktte, aber warum?

Ein Thema von stifflersmom · begonnen am 21. Feb 2024 · letzter Beitrag vom 21. Feb 2024
Antwort Antwort
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 10:38
Moin moin,

ihc habe hier eine Unit, in der sind die meisten Funktionen, aber nicht alle!, ohne blauen Punkt und ich suche mir einen Wolf, finde aber irgendie nichts.
Bevor jemand fragt: Ja, es wird im Debugmodus kompiliert.

Hat hier jemad soetwas schon mal erlebt und einen Tipp für mich, wo ich suchen soll?


Gruß
Miniaturansicht angehängter Grafiken
keineblauenpunkte.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 10:51
Die einfachste Ursache ist die Optimierung des Compilers, wenn der Code nicht verwendet wird.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 10:58
Die ist aber nicht aktiv.
Miniaturansicht angehängter Grafiken
optimierung.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 11:07
Wie genannt, wird diese Methode überhaupt irgendwo aufgerufen?
Ist diese Methode Private, oder vielleicht Public/Publisched?
Steht denn nichts in den Compilerausgaben? Und wenn ja, wieso beachtest du dass dann nicht?
...

Rauswerfen ganzer ungenutzer Funktionen ist, glaub ich, nicht Angelegenheit der Optimierung.

z.B. im PUBLIC hab ich (standardmäßig) die Funktion auch einkompiliert, inkl. Pünktchen,
aber im PRIVATE ist sie weg und [DCC Hinweis] Unit1.pas(13): H2219 Das private-Symbol 'Test' wurde deklariert, aber nie verwendet .

Ersteres könnte noch via RTTI gesucht und indirekt aufgerufen werden (Invoke).
Und PUBLISHED auch über die TypeInfo, z.B. mittels Delphi-Referenz durchsuchenTObject.MethodAddress.
Auch von sonstwo aus, was der Compiler/Linker garnicht wissen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Feb 2024 um 11:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 11:14
Die ist aber nicht aktiv.
Das spielt für diese Art Optimierung keine Rolle. Genau genommen ist es auch nicht der Compiler, der den Code weglässt, sondern der Linker. Bei Delphi ist das aber alles in den dcc integriert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 11:16
Ja, die hier nicht mit blauen Punkten versehene Funktion wird definitiv aufgerufen.

Erstaunlich finde ich auch, dass die OnCreate Funktion des Datenmoduls nicht aufgerufen wird.
Diese ist aber definitiv zugewiesen.


Der Compiler nennt auch eine Funktion die zwar definiert, aber nicht aufgerufen wird, aber auch wenn ich diese auskommentiere, ändert sich an der "Punkteverteilung" nichts.
Miniaturansicht angehängter Grafiken
oncreate.jpg  
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 11:23
Und genau das hat mich jetzt auf die Lösung gebracht...
Tatsächlich ist das DatenModul gar nicht mehr erstellt worden, saublödfer Fehler von mir.
Wieso das gestern noch in der dpr datei vorhanden war und heute nicht mehr, kann ich nicht sagen, aber auf jeden Fall lag der Fehler bei mir.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 11:24
Womöglich wurden nicht alle Units DCUs neu kompiliert,
oder die IDE hatte nicht die aktuellen Debuginfos geladen.

-> einmal BuildAll (Erzeugen) und erst dann er weitersuchen, wenn immernoch

PS:
Warum die BaseURL umschreiben, anstatt z.B. RESTRequest.Location := ROUTE_irgendwas; ?
Und ganz sicher, dass "RESTClient.BaseURL := RESTClient.BaseURL + ..." richtig ist?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Feb 2024 um 11:29 Uhr)
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Teilweise in einer Unit keine blauen Punktte, aber warum?

  Alt 21. Feb 2024, 11:43
Die BaseURL wird umgeschrieben weil die BaseURL bei der Datev Connect API abhängig ist von dem Fiskaljahr, das angesteuert wird.
Das könnte man bestimmt auch anders gestalten, aber ist mir an der Stelle auch nicht wirklich wichtig.

Und ja, natürlich hast Du Recht das ESTClient.BaseURL := RESTClient.BaseURL nicht richtig ist, aber darum ging es in diese Testfunktion auch gar nicht
  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 05:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz