Bei der Arbeit an einer großen 4D-Anwendung ist es üblich, die Funktionalität auf ein Host-Projekt und mehrere Komponenten aufzuteilen. Diese modulare Architektur sorgt für Übersichtlichkeit, einfache Organisation und Wartbarkeit, kann aber auch eine Herausforderung darstellen: herauszufinden, wo eine Methode verwendet wird.
Seit 4D 21 wurde dieser Arbeitsablauf durch eine wichtige Verbesserung noch weiter optimiert: Sie können nun den Quellcode einer Komponente direkt aus dem Host-Projekt heraus bearbeiten, ohne den Kontext wechseln zu müssen. Und mit 4D 21 R2 wurde das Dialogfeld „In Design suchen“ so erweitert, dass nicht nur innerhalb des Host-Projekts gesucht werden kann, sondern auch in allen zugänglichen Komponenten, die im Projektmodus erstellt wurden und deren Quellcode verfügbar ist.
Suche im Host-Projekt und seinen Komponenten
Die wichtigste Verbesserung ist die Möglichkeit, nicht nur im Host-Projekt, sondern auch in allen zugänglichen Komponenten zu suchen.
Sie können nun genau auswählen, wo gesucht werden soll:
-
Nur im Host-Projekt
-
Eine Komponente
-
Host-Projekt zusammen mit allen zugänglichen Komponenten

Suchergebnisse
Jedes Ergebnis, das von einer Komponente stammt, enthält nun den Namen der Komponente in Klammern. Die Tooltips wurden ebenfalls verbessert. Wenn Sie mit der Maus über eine Ergebniszeile fahren, enthält der Tooltip den Namen der Komponente.

Suchergebnisse exportieren
Viele Benutzer möchten Suchergebnisse extern für Audits, die Erstellung von Dokumentationen oder Codeüberprüfungen verarbeiten. Um dies zu unterstützen, enthalten exportierte Suchergebnisse nun in der ersten Spalte den Namen des Projekts oder der Komponente, zu dem/der jedes gefundene Element gehört:
{
"type": "text",
"in": "'My host project' and components",
"operator": "contains",
"what": "alert",
"caseSensitive": false,
"searchInForms": true,
"searchInMethods": true
}
DateTimeComponent class [class]/Class8 method ALERT("function test") 2
Mycomponent projectMethod MyComponentMethod method ALERT("Hello") 1
Mycomponent class [class]/MyComponentClass method Function alert($myAlert : Text) 1
Mycomponent class [class]/MyComponentClass method ALERT($myAlert) 2
Fazit
Diese Weiterentwicklungen verbessern die Code-Erforschung, Refaktorisierung und Wartung erheblich, insbesondere in modularen Architekturen, die auf Komponenten basieren. Wenn Sie mit Multi-Projekt-Setups arbeiten, sparen Sie durch diese Verbesserungen Zeit, reduzieren Fehler und erhalten einen klareren Überblick über die Struktur Ihrer Anwendung.
