Wie werden projektspezifische Komponenten in Delphi behandelt?

8

Nehmen wir an, wir haben ein Team, das an vielen verschiedenen Projekten arbeitet. Jedes Teammitglied verwendet während des Entwicklungszyklus verschiedene visuelle / nicht-visuelle Steuerelemente / Komponenten. Da Delphi erfordert, dass jede Komponente global in der IDE kompiliert und installiert wird, wie kann diese Situation während der Arbeit mit einem Projekt gehandhabt werden, das vom anderen Teammitglied gestartet wurde?

Es wäre toll, wenn ich die Quellen eines Projekts aus der Versionskontrolle auschecken könnte und die Möglichkeit hätte, es sofort zu kompilieren. Es ist mir egal oder manchmal weiß ich nicht, welche visuellen oder nicht-visuellen Komponenten für dieses Projekt benötigt werden. Ich denke, sie sollten alle in den Projektquellen enthalten sein.

Vielleicht gibt es einige Tools, die Hauptprojektdatei oder -verzeichnis lesen und alle benötigten Komponenten beim Laden des Projekts kompilieren / installieren (und sie beim Schließen des Projekts deinstallieren)?

Wie gehen Sie in Delphi mit diesem Problem um?

    
Linas 16.10.2012, 17:38
quelle

3 Antworten

5

In unserer Firma haben wir das gleiche Problem. Wir lösen dies, indem wir alle dazu zwingen, alle notwendigen Bibliothekspfade zu ihrer Delphi-Idee hinzuzufügen.

Wir verwenden ein zusätzliches sdk / framwork-Repository, das alle Komponenten / sdks / frameworks von allen enthält. Wir behalten eine einzelne Textdatei bei, die alle Bibliotheken mit ihrer Version, Installationsinfos etc. auflistet. Jeder überprüft seine gewünschten Bibliotheken, also haben wir keine doppelten Bibliotheken oder verschiedene Versionen.

Da wir alle unter Windows arbeiten und Delphi seine Pfade und (afaik) installed-components Informationen in der Registry speichert, haben wir diese Informationen extrahiert. Wir speichern für jede verwendete Delphi-Version eine .reg-Datei innerhalb des SDK-Repository-Trunks.

Wenn also jemand ein Framework ändert, aktualisiert er die Informationen für alle in den .reg-Dateien und schreibt sie fest.

jetzt, wenn jemand seine dev-Maschine einrichten möchte, checken sie die SDK aus, fügt die z. xe2.reg Informationen zu ihrer Registrierung, dann überprüfen Sie das Projekt und ... Tada. Kompilieren.

Wir haben nicht versucht, die Pakete "Installierte Komponenten" zu extrahieren. Das ist auf unserer To-Do-Liste. Eine Alternative wäre, eine Batch-Datei zum Erstellen und Installieren aller SDK-Pakete auf einmal zu behalten. Aber ich weiß nicht, ob die Installation von Komponenten über die Kommandozeile in Delphi möglich ist.

Etwas wie das JEDI-Installationsprogramm wäre nett. Das Installationsprogramm erkennt installierte Delphi-Versionen und Builds & amp; Installiert alles schön. Eine frei konfigurierbare Version wäre nett, also füge alle sdks hinzu - & gt; Installieren Sie auf jeder Version .. perfekt.

    
Hugie 02.11.2012 17:27
quelle
4

Jeder, der ein bestimmtes Projekt kompilieren möchte, muss zuerst alle Komponenten installieren, die das Projekt verwendet. Es gibt kein Problem damit, es sei denn, das Projekt enthält direkt den Quellcode der Komponenten und instanziiert die Komponenten in Code, anstatt einen DFM zu verwenden. AFAIK, es gibt kein IDE-Tool, das die Komponenten (un) -Installation für jedes Projekt automatisiert.

    
Remy Lebeau 16.10.2012 18:58
quelle
2

Es ist sehr klug, die Komponenten und Bibliotheken einzuschränken, die von Ihrem Team verwendet werden. Wenn jedes Mitglied entscheidet, welche Komponente es verwenden wird, wird Ihre endgültige ausführbare Datei oder Ihre Pakete stark wachsen und Sie können einige Inkompatibilitäten zwischen Bibliotheken haben.

Außerdem können Sie zusätzliche Kosten für den Kauf und die Aktualisierung von Bibliotheken haben, die sich sehr ähnlich sind. Denken Sie daran, dass jedes Mal, wenn Delphi aktualisiert wird, Sie neue Lizenzen von den meisten Bibliotheken kaufen sollten.

Der beste Ansatz ist also:

  • Fragen Sie nach den Bibliotheken, die jeder Entwickler verwendet, und besprechen Sie mit ihnen das tatsächliche Bedürfnis jedes einzelnen;

  • Katalog diese Bibliothek erforderlich und installieren Sie sie auf der Maschine, die Sie Ihren endgültigen Code zusammenstellen;

Josir 16.10.2012 20:09
quelle

Tags und Links