Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Verwendungsnachweis für Komponenten (https://www.delphipraxis.net/179720-verwendungsnachweis-fuer-komponenten.html)

news2swen 27. Mär 2014 10:46

Verwendungsnachweis für Komponenten
 
Hallo zusammen

gibt es eine Möglichkeit, sich in der Delphi-IDE (Delphi2010) die Abhängigkeiten von Komponenten untereinander anzeigen zu lassen?

Um es an einem konkreten Beispiel festzumachen:
Ich habe einige TADOConnections, entsprechend viele Datasets, Datasources und z.B. DBGrids (zum Teil in unterschiedlichen Units).
Ich möchte nun wissen, welche Komponente von welcher benutzt wird, um zum Beispiel das Projekt von unnützem Ballast zu befreien. Im Moment sehe ich keine Möglichkeit, zu erfahren, wo meine ADOConnection1 überall verwendet wird, es sei denn ich schaue mir jedes einzelne Dataset des Projektes an. Dummerweise läßt sich die ADOConnection ja auch ohne entsprechenden Hinweis löschen, so dass ich erst beim nächsten Programmstart mekre, dass sie ja doch von anderen Komponenten verwendet wurde :x

Der schöne Günther 27. Mär 2014 11:05

AW: Verwendungsnachweis für Komponenten
 
Delphi 2010 kenne ich jetzt nicht, aber reichen denn nicht die Funktionen
  • (Lokale) Referenzen auf 'XYZ' suchen ([Strg]+[Shift]+[Enter])
  • Verwendung suchen

Wenn du mit Rechts auf die Komponenten-Deklaration im Source klickst?

himitsu 27. Mär 2014 11:06

AW: Verwendungsnachweis für Komponenten
 
Man könnte bestimmt über ein Plugin auf der Form Linien Zeichnen, so wie beim Ausrichten der Komponenten, aber ich kenn da jetzt Keines.

Aber auf der Form via Alt+F12 und Strg+F in der DFM danach suchen
und Strg+Shift+F findet auch in den DFMs etwas.

Popov 27. Mär 2014 11:54

AW: Verwendungsnachweis für Komponenten
 
@news2swen

Es ist ja nicht verkehrt bei der Entwicklung sich das Ganze so hinzulegen, dass die Verhältnisse untereinander sichtbar sind.

news2swen 27. Mär 2014 12:23

AW: Verwendungsnachweis für Komponenten
 
Danke für die Vorschläge, aber:


Zitat:

Zitat von Der schöne Günther (Beitrag 1253619)
Delphi 2010 kenne ich jetzt nicht, aber reichen denn nicht die Funktionen
  • (Lokale) Referenzen auf 'XYZ' suchen ([Strg]+[Shift]+[Enter])
  • Verwendung suchen

Wenn du mit Rechts auf die Komponenten-Deklaration im Source klickst?

Das funktioniert leider nicht wie gewünscht. Ich finde lediglich Einträge\Verweise im Quellcode (*.pas). Wenn da etwas gefunden wird, läßt sich nach löschen der Komponente auch das Projekt nicht mehr kompilieren.


Zitat:

Zitat von Popov (Beitrag 1253626)
@news2swen

Es ist ja nicht verkehrt bei der Entwicklung sich das Ganze so hinzulegen, dass die Verhältnisse untereinander sichtbar sind.

Das ist wohl wahr und funktioniert auch, solange man sich innerhalb einer UNIT bewegt, aber sobald man von anderen UNITs auf die Komponenten zugreift, hat sich dieses Konzept überlebt :cry:


Zitat:

Zitat von himitsu (Beitrag 1253620)
Man könnte bestimmt über ein Plugin auf der Form Linien Zeichnen, so wie beim Ausrichten der Komponenten, aber ich kenn da jetzt Keines.

Aber auf der Form via Alt+F12 und Strg+F in der DFM danach suchen
und Strg+Shift+F findet auch in den DFMs etwas.

Die Suche war auch mein erster Gedanke, allerdings sucht Delphi nicht in den DFMs. Sich ein Formular als Text anzeigen lassen und darin zu suchen funktioniert, aber je nach Anzahl der Formulare ist der Aufwand sehr hoch.

himitsu 27. Mär 2014 12:51

AW: Verwendungsnachweis für Komponenten
 
Zitat:

Zitat von news2swen (Beitrag 1253638)
allerdings sucht Delphi nicht in den DFMs.

Das würde ich so nicht sagen. :angel:


Code:
Bedingungen
  In Verzeichnissen suchen

Optionen für Verzeichnissuche
  Dateifilter: *.dpr;*.pas;*.dfm;*.inc;*.dpk;*.sql
    *.* ginge auch, aber .res und sonstige Dateien verlangsamen nur die Suche
  Verzeichnisse: deine Verzeichnisse (eventuell gehen da auch Variablen ala $(project), aber das hab ich noch nicht ausprobiert)
  Unterverzeichnisse durchsuchen: Ja

Ausgabe
  Nach Dateien gruppieren
Ach ja, der Doppelklick auf das Suchergebnis für 'ne DFM geht nicht, wenn die PAS oder Form grade angezeigt wird.
PAS/Form schließen und dann wird die DFM geladen, oder zur DFM umschalten und dann doppelklicken.
Und andersrum genauso, von DFM-Code per Suche in die PAS .
Das Selbe gilt auch für den Doppelklick auf DFM/PAS im Projektmanager.


Und eine Suche nach Umlauten ala ÄÖÜ geht oftmals nur, wenn die Datei geladen ist, da bei ungeöffneten Dateien der Loader für die Suche seit vielen Jahren defekt ist und mein Reparaturwunsch noch keine Beachtung fand.

Der schöne Günther 27. Mär 2014 13:02

AW: Verwendungsnachweis für Komponenten
 
Jetzt verstehe ich das erst, ja.

DBGrid zeigt auf DataSource.

Selbst wenn man im Code jetzt auf den DataSource geht und sagt "Refactoring -> Sicheres Löschen" meint er "Alles klar, wird nirgendwo verwendet. Kann gefahrlos gelöscht werden.". Er kompiliert sogar und zur Laufzeit fliegt einem dann alles um die Ohren.

Nett.

news2swen 27. Mär 2014 14:13

AW: Verwendungsnachweis für Komponenten
 
Zitat:

Zitat von himitsu (Beitrag 1253646)
Zitat:

Zitat von news2swen (Beitrag 1253638)
allerdings sucht Delphi nicht in den DFMs.

Das würde ich so nicht sagen. :angel:


Code:
Bedingungen
  In Verzeichnissen suchen

Optionen für Verzeichnissuche
  Dateifilter: *.dpr;*.pas;*.dfm;*.inc;*.dpk;*.sql
    *.* ginge auch, aber .res und sonstige Dateien verlangsamen nur die Suche
  Verzeichnisse: deine Verzeichnisse (eventuell gehen da auch Variablen ala $(project), aber das hab ich noch nicht ausprobiert)
  Unterverzeichnisse durchsuchen: Ja

Ausgabe
  Nach Dateien gruppieren
Ach ja, der Doppelklick auf das Suchergebnis für 'ne DFM geht nicht, wenn die PAS oder Form grade angezeigt wird.
PAS/Form schließen und dann wird die DFM geladen, oder zur DFM umschalten und dann doppelklicken.
Und andersrum genauso, von DFM-Code per Suche in die PAS .
Das Selbe gilt auch für den Doppelklick auf DFM/PAS im Projektmanager.


Und eine Suche nach Umlauten ala ÄÖÜ geht oftmals nur, wenn die Datei geladen ist, da bei ungeöffneten Dateien der Loader für die Suche seit vielen Jahren defekt ist und mein Reparaturwunsch noch keine Beachtung fand.


Danke schön. So kann ich tatsächlich in DFM-Dateien etwas finden :thumb: :-D Ich bin irrtümlicher Weise davon ausgegangen, dass wenn ich bei der Suche sage, "alle Dateien des Projektes", dass er dann auch alle Dateien durchsucht. Damit kann ich erstmal gut arbeiten, wobei ein "echtes" Tool besser wäre.



Zitat:

Zitat von Der schöne Günther (Beitrag 1253648)
Jetzt verstehe ich das erst, ja.

DBGrid zeigt auf DataSource.

Selbst wenn man im Code jetzt auf den DataSource geht und sagt "Refactoring -> Sicheres Löschen" meint er "Alles klar, wird nirgendwo verwendet. Kann gefahrlos gelöscht werden.". Er kompiliert sogar und zur Laufzeit fliegt einem dann alles um die Ohren.

Nett.

Ja, genau das ist das Problem. Delphi gaukelt mir vor, dass ich die Komponente ruhig löschen kann, da es scheinbar nur prüft, ob der Code danach noch gültig ist.


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