Abhängigkeiten entfernen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Was zeichnet Komponenten aus?


Je flexibler eine Komponente entwickelt wurde, desto leichter verwendbar ist sie für den Programmierer. Es liegt in der Natur von Komponenten, dass sie in einer Anwendung in den verschiedensten Kombinationen und in wechselndem Kontext vorkommen. In Ihrer Verantwortung als Entwickler liegt es, dass sich Ihre Komponenten ohne Vorbedingung in jeder Situation korrekt verhalten.

Ein Beispiel für die Vermeidung von Abhängigkeiten stellt die Eigenschaft Handle von TWinControl dar. Wenn Sie schon einmal eine Windows-Anwendung geschrieben haben, wissen Sie, dass einer der schwierigsten und fehleranfälligsten Aspekte darin besteht, dass Sie auf ein fensterorientiertes Steuerelement nur dann zugreifen dürfen, wenn Sie es vorher durch einen Aufruf der API-Funktion CreateWindow erzeugt haben. In Delphi taucht dieses Problem erst gar nicht auf. Delphi sorgt nämlich automatisch dafür, dass ein gültiges Fenster-Handle verfügbar ist, wenn es gebraucht wird. Indem das Handle durch eine Eigenschaft repräsentiert wird, kann das Steuerelement überprüfen, ob das Fenster bereits erzeugt wurde. Wenn das Handle ungültig ist, erzeugt das Steuerelement das Fenster und gibt das Handle zurück. Dadurch ist sichergestellt, dass eine Anwendung immer ein gültiges Handle abrufen kann, indem sie auf die Eigenschaft Handle zugreift.

Delphi-Komponenten nehmen dem Entwickler Aufgaben wie das Erzeugen von Fenstern ab und erlauben ihm dadurch, sich auf wichtigere Dinge zu konzentrieren. Der Entwickler braucht weder ein Fenster zu erzeugen noch zu überprüfen, ob ein Handle für ein Fenster existiert, bevor er es einer API-Funktion übergibt. Er kann davon ausgehen, dass sich die Anwendung korrekt verhält und muss sich nicht ständig den Kopf über mögliche Fehlerquellen zerbrechen.

Natürlich dauert es länger, Komponenten zu entwickeln, die frei von Abhängigkeiten sind. Die zusätzliche Zeit ist aber gut angelegt. Ausgereifte Komponenten ersparen nicht nur den Anwendungsprogrammierern alle möglichen Unannehmlichkeiten, sondern verringern auch Ihren eigenen Aufwand für die Dokumentation und die technische Unterstützung.