Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Finden, wo eine Methode benutzt wird (https://www.delphipraxis.net/183465-finden-wo-eine-methode-benutzt-wird.html)

Der schöne Günther 12. Jan 2015 09:36

Finden, wo eine Methode benutzt wird
 
XE7. Kann man, ohne weiteres Geld in die IDE zu stecken, eigentlich noch herausfinden, wo eine Methode (oder andere Member) benutzt werden?

Rechtsklick -> Suchen -> Lokale Referenzen auf "XYZ" suchen
Findet nur in der lokalen .pas-Datei.

Rechtsklick -> Suchen -> Referenzen auf "XYZ" suchen
Findet in 2/3 der Fälle auch nur in der lokalen .pas-Datei obwohl es weitere Treffer gibt. Also fehlerhaft.

Rechtsklick -> Verwendung suchen
Findet in 90% der Fälle nichts, das Fenster geht dann einfach wieder zu.

Suchen -> In Dateien suchen -> Text eingeben
Einzig zuverlässige Methode. Kann nicht ernst gemeint sein.

Nersgatt 12. Jan 2015 09:39

AW: Finden, wo eine Methode benutzt wird
 
Auskommentieren und gucken wo der Compiler Fehler wirft. :stupid:

Sherlock 12. Jan 2015 09:41

AW: Finden, wo eine Methode benutzt wird
 
GrepSearch von den GExperts auf den Methodennamen anwenden und hoffen, daß nicht allzuviele auskommentierte Teile angezeigt werden...

Sherlock

Uwe Raabe 12. Jan 2015 10:07

AW: Finden, wo eine Methode benutzt wird
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1286293)
Rechtsklick -> Suchen -> Lokale Referenzen auf "XYZ" suchen
Findet nur in der lokalen .pas-Datei.

Das ist ja auch so gewollt.

Zitat:

Zitat von Der schöne Günther (Beitrag 1286293)
Rechtsklick -> Suchen -> Referenzen auf "XYZ" suchen
Findet in 2/3 der Fälle auch nur in der lokalen .pas-Datei obwohl es weitere Treffer gibt. Also fehlerhaft.

Wenn das Projekt sauber compiliert, sollte das eigentlich nicht schief gehen. Ich kann deine Fehlerrate hier bei einem kurzen Test eines mittelgroßen Projekts auch nicht nachvollziehen.

Zitat:

Zitat von Der schöne Günther (Beitrag 1286293)
Rechtsklick -> Verwendung suchen
Findet in 90% der Fälle nichts, das Fenster geht dann einfach wieder zu.

Das ist eigentlich eine Funktionalität der Modellierung. Eventuell funktioniert das nur dann zuverlässig, wenn die auch aktiv ist.

Zitat:

Zitat von Der schöne Günther (Beitrag 1286293)
Suchen -> In Dateien suchen -> Text eingeben

Das Text eingeben kannst du dir sparen, wenn du in den Editor-Optionen unter Text am Cursor suchen eine Haken machst.

Der schöne Günther 12. Jan 2015 10:35

AW: Finden, wo eine Methode benutzt wird
 
Ja, das Projekt ist nicht perfekt sondern eine Altlast mit einem Dutzend Dutzend Hinweisen und mehreren Dutzend Warnungen. Es kompiliert, es läuft aber die IDE findet nichts.

Das "Verwendung suchen" sind doch die in .NET geschriebenen Refactoring-Methoden- Die Modellierung ist keine Voraussetzung dafür. Mal funktioniert es, meistens nicht.

mm1256 12. Jan 2015 10:48

AW: Finden, wo eine Methode benutzt wird
 
Wenn nichts oder nicht alles gefunden wird, könnte es auch daran liegen, dass im Projekt Units verwendet werden, die über den Suchpfad eingebunden werden, aber nicht in der Uses-Liste des Projektes stehen.

Der schöne Günther 12. Jan 2015 11:05

AW: Finden, wo eine Methode benutzt wird
 
Hört sich interessant an, ich verstehe es aber nicht ganz:
  • Wenn dem Projekt Units angehören (stehen in .dpr und .dproj), aber eigentlich unnötig sind (werden nirgendwo inkludiert)?
  • Wenn eine Unit eine inkludiert welche dem Projekt nicht angehört (wird nicht in der Projektverwaltung angezeigt)?
  • Ein ungültiger Projekt-Suchpfad?
  • Ein ungültiger globaler Suchpfad?

stahli 12. Jan 2015 11:16

AW: Finden, wo eine Methode benutzt wird
 
"Verwendung suchen" hatte bei mir mal funktioniert als ich es getestet hatte.
Später (als ich es ernsthaft verwenden wollte) blieb die Trefferliste immer leer oder ging gar nicht auf.

Meine Emfehlung: Funktionalität nur testen. :stupid:

Der schöne Günther 15. Jan 2015 18:37

AW: Finden, wo eine Methode benutzt wird
 
Noch jemand eine Idee? Irgendwie kann ich sonst genauso gut mit Notepad coden...

pelzig 16. Jan 2015 01:05

AW: Finden, wo eine Methode benutzt wird
 
Vielleicht könntest Du ein Programm schreiben, das
- rekursiv Ordner durchsucht
- dabei verschiedene Dateitypen berücksichtigt
und in den gefundenen Dateien dann
- einen String sucht
- abhängig von der Großkleinschreibung?

Als Nicht-Programmierer könntest Du auch nach so einem Programm googeln :wink:

MfG

gemeni2005 16. Jan 2015 05:28

AW: Finden, wo eine Methode benutzt wird
 
Du könntest die Methode als deprecated markieren, dann gibt der Compiler wenigstens einen Hinweis aus.
Gruß
Robert

Uwe Raabe 16. Jan 2015 07:49

AW: Finden, wo eine Methode benutzt wird
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1286293)
XE7. Kann man, ohne weiteres Geld in die IDE zu stecken, eigentlich noch herausfinden, wo eine Methode (oder andere Member) benutzt werden?

Wenn ich das mal wörtlich interpretiere ("ohne weiteres Geld in die IDE zu stecken"), dann kannst du das mit dem Pascal Analyzer von Peganza (ist halt ein Stand-Alone-Programm mit Anbindung an die Delphi-IDE) erreichen. Da bekommst du dann für aktuelle $159 aber noch einen Haufen weitere Auswertungen geliefert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 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