AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verwendungsnachweis für Komponenten

Ein Thema von news2swen · begonnen am 27. Mär 2014 · letzter Beitrag vom 27. Mär 2014
Antwort Antwort
news2swen

Registriert seit: 7. Nov 2008
36 Beiträge
 
Delphi XE4 Enterprise
 
#1

Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 11:46
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
Swen
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 12:05
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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 12:06
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.
$2B or not $2B

Geändert von himitsu (27. Mär 2014 um 12:28 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 12:54
@news2swen

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

Registriert seit: 7. Nov 2008
36 Beiträge
 
Delphi XE4 Enterprise
 
#5

AW: Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 13:23
Danke für die Vorschläge, aber:


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.


@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


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.
Swen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 13:51
allerdings sucht Delphi nicht in den DFMs.
Das würde ich so nicht sagen.


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.
$2B or not $2B

Geändert von himitsu (27. Mär 2014 um 13:54 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 14:02
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.
  Mit Zitat antworten Zitat
news2swen

Registriert seit: 7. Nov 2008
36 Beiträge
 
Delphi XE4 Enterprise
 
#8

AW: Verwendungsnachweis für Komponenten

  Alt 27. Mär 2014, 15:13
allerdings sucht Delphi nicht in den DFMs.
Das würde ich so nicht sagen.


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 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.



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.
Swen
  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 06:33 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