Die Möglichkeit Komponenten im CBuilder zu nutzen ermöglicht einfaches und schnelles Erstellen von Applikationen, also
RAD. - Aber nur wenn alles fehlerfrei funktioniert. Und da sind wir schon beim Thema: Es sollte theoretisch so einfach sein: Komponente installieren, nutzen, fertig.
Doch in der Praxis tauchen Fragen und Probleme auf. Ich habe den Eindruck, dass es oft zu Zugriffsverletzungen in "rtl100.bpl" o.ä. kommt, wenn das aktuelle Projekt (falsch installierte) Komponenten enthält und wenn man diese Anwendung speichert oder kompiliert. Die Häufigkeit der Zugriffsverletzungen in "rtl100.bpl" steigt drastisch wenn eine Projektgruppe mehrere Komponenten enthält. Die
IDE muß ja schon zur Design-Zeit eine Instanz einer visuellen Komponente erzeugen und die dabei enstehenden Fehlermeldungen sind nicht aussagekräftig und man kann nicht auf die fehlerhaft installierte Komponente schließen. Es könnte sein dass durch falsche Suchpfade
bpl und lib nicht zusammen passen oder sogar von unterschiedlichen Versionen sind. Die Fehlerwahrscheinlichkeit nimmt zu je mehr Drittanbieterkomponenten man hat. Komponenten mit eigener Installationsroutine hinterlassen auch nach der Deinstallation Eintrage im Registry-key von
BDS, z.B.
Jedi. Außerdem lassen sie einem oft keine Wahl wohin die Dateien kopiert werden, $BDSPROJECTSDIR, System32, oder {Komponentenname}\Lib\C6 o.ä.. Es ensteht also ein uneinheitliches Durcheinander.
Meine Fragen sind deshalb:
- Welche Bedingungen müssen erfüllt sein damit eine Komponente fehlerfrei funktioniert?
- Welche Dateien müssen Wo abgelegt sein (
bpl, bpi, lib, h, hpp, res,
dcu, ...)?
- Welche Registry Einträge müssen gesetzt sein (z.B. um in der Komponentenliste sichtbar zu sein)?
- Welche Pfade müssen eingestellt sein (in der
IDE, der Registry, dem Default Projekt und der Anwendung die die Komponenten nutzt)?
- Was macht die
IDE beim installieren von Komponenten automatisch und um was muss ich mich kümmern?
- Auf was muss ich achten wenn ich Komponenten gleichzeitug im CB6 und im
RAD Studio2007 nutzen möchte?
- Unterschiedliche Handhabung von visuellen und nichtvisuellen Komponenten?
- Was fehlt wenn die Komponente funktioniert, aber nicht in der Komponentenleiste sichtbar ist?
- Wie bzw. was von der Komponente nutzt die
IDE während der Designtime und was wird letztendlich zur fertigen exe gelinkt?
- Wie deinstalliere ich eine Komponente so dass KEINE Rückstände in Registry, CBuilder und Dateien vorhanden sind?
- Welche Projektoptionen müssen Delphikomponenten haben wenn man sie für den CBuilder nutzt?
- Ist es eine gute Idee alle Komponenten auf einem Netzwerk zu installieren wenn mehrere Entwickler sie nutzen?
- Gibt es eine art "Checkliste" oder ein Standard Prozedere für eine sorglose Komponentennutzung?
Wenn man zu diesem Thema im Internet sucht bekommt man den Eindruck, dass viele Entwickler mit dieser Thematik Probleme haben und sich einen anderen mechanismus wünschen. Ich glaube nicht dasss der Mechanismus schlecht ist, in meinem Fall liegt es eher am nichtwissen wie der Mechanismus arbeitet. Vielleicht kann mir jemand helfen das besser zu verstehen.
Vielen Dank,
Tobi
(Ich verwende u.a. TMS, LMD, SDL, DevEx unter CB6 und steige momentan auf
RAD Studio 2007 um. Alle Anwendungen werden statisch gelinkt. Alles auf WinXP.)