![]() |
Fehlerfreie Installation und Nutzung von Komponenten
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.) |
Re: Fehlerfreie Installation und Nutzung von Komponenten
Hab ein wenig Geduld, ich werde alle Deine Fragen in ein paar Tagen ausführlich beantworten... ;-)
Ein paar schnelle Antworten geb ich Dir schon jetzt: Zitat:
Das Package muß in Belphi eingebunden sein und alle benötigten Dateien müssen vorhanden sein (*.bpl, *.dcp, *.dcu, optional wenn benötigt *.dfm, *.res, *.dcr, ...) Zitat:
*.bpl muß im Systempfas stehen (Umgebungsveriable PATH z.B. in Eingabeaufforderung/Dos-Box zu sehen) Zitat:
Am Beispiel Delphi 2007:
Zitat:
zusätzlich sollte der Systempfad (PATH-Umgebungsvariable) auf alle Verzeichnisse zeigen, die benötigte *.bpl Dateien beinhalten (wichtig bei abhänigen Packages) Zitat:
Dies eDatei wird ab D2007 von msbuild.exe zum compilieren benötigt. Zitat:
Quelltext kann von verschiedenen Delphi Versionen kompiliert werden. die Kompilate (*.dcu, ...) Dateien liegen in eigenen Verzeichnissen z.B. ...\D7\...\lib\*.dcu und ...\D2007\...\lib\*.dcu In das jeweilige Delphi sollten nur die Verzeichnisse mit den entsprechenden Dateien im Suchpfad stehen. Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Wobei jeder Entwickler eine eigene Sicht auf die Dateien hat. Er kann also niemanden blockieren, weil Windows die Datei öffnet. Aber: Der Zugriff ist natürlich viel langsamer als lokal. Mit [dp]DelphiSpeedUp[dp] wirds aber erträglich Zitat:
Ausführliches gibt es später (in ein paar Tagen) Ich hoffe das hilft dir. |
Re: Fehlerfreie Installation und Nutzung von Komponenten
Vielen Dank für die schnelle und (jetzt schon) ausführliche Antwort! Kann den Rest kaum abwarten. So brauche ich mich in Zukunft nicht mehr auf mein gefährliches Halbwissen verlassen, sondern weiss Bescheid. Dann kann ich mich endlich wieder mehr auf die 'eigentlichen' Probleme, also auf das Programmieren selbst konzentrieren, statt mit der IDE zu kämpfen.
mfg, Matmok |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz