2015-02-10 6 views
8

Ich habe etwas Delphi-Code geschrieben, den ich gerne auf GitHub teilen würde. Der gesamte Code ist in Laufzeit- und Designzeitpaketen enthalten. Es gibt viele "Projektoptionen" für jedes Projekt. (Ausgabeverzeichnisse, Suchpfade, Kompilierungsoptionen usw.) Ich habe einige Standardoptionen gefunden, die für meine Situation gut funktionieren, aber andere Q & lesen. Wie hier ist es klar, dass es mehrere waysofworking gibt.Welche Projektoptionen für Open-Source-Delphi-Pakete?

Welche Projektoptionen sollten verwendet werden, damit die Open-Source-Pakete problemlos in einzelne Projekte integriert werden können?

Delphi Project Options

ich vor kurzem begonnen haben NodeJS verwenden. Der NPM-Paket-Manager macht es sehr einfach, Pakete von Drittanbietern in einem Projekt zu verwenden. Pakete werden mit einem einfachen Befehl in der Befehlszeile installiert. Pakete installieren automatisch alle erforderlichen Abhängigkeiten.

PS: Fühlen Sie sich frei, diese Frage zu bearbeiten, wenn Sie zusätzliche Dinge hinzufügen möchten.

+1

Für einen Start sollten alle Suchpfade relativ sein. Und dann sollten Sie eine Version Ihres Demo-Projekts erstellen, in der Sie Ihre Komponenten bei runtie hinzufügen.Ich persönlich neuere Komponenten in meinem Delphi installieren, bevor ich sicher bin, dass ich sie brauche, und nicht sichtbare Komponenten, die ich nie installieren –

+0

Compiler-Optionen: Bereich und Überlaufprüfung immer an. Lassen Sie den Computer arbeiten, damit Sie Fehler abfangen können. –

+0

Was ist der Umfang der Frage? Sie möchten alle Möglichkeiten kennenlernen? Compiler-Optionen? Oder nur pfadbezogene Optionen? –

Antwort

7

Angenommen, Sie haben diese Struktur haben

  • MyComponent
    • Pakete
      • DelphiXE7
        • Package2.dpr
    • Quelle
    • bin
      • Delphi XE7

setzen dann

  • Suchpfad

    .. \ .. \ .. \ source

  • Einheit Ausgabeverzeichnis

    .. \ .. \ ..\ Bin \ Delphi XE7 \ $ (Platform) \ $ (Config)

Nach der Kompilierung für allen unterstützten Plattformen und beide Veröffentlichung und Debug Sie werden in der bin mit dieser Struktur haben Verzeichnis

  • MyComponent
    • Pakete
      • DelphiXE7
        • Package2.dpr
    • Quelle
    • bin
      • Delphi XE7
        • Android
          • Lassen Sie
          • Debug
        • Win32
          • Veröffentlichung
          • Debug
        • Win64
          • Veröffentlichung
          • Debug

Für die Installation müssen Sie innerhalb der IDE einige Pfad zu Setup.

  • Umwelt

    MyComponent => [root Pfad zu den Dateien]

  • Bibliothek

    Wiederholen Sie, dass für alle unterstützten Plattformen

    • Library Path

      $ (MyComponent) \ bin \ Delphi XE7 \ $ (Platform) \ Release

    • Suchpfad

      $ (MYCOMPONENT) \ Quelle

    • Debug-DCU-Pfad

      $ (MyComponent) \ bin \ Delphi XE7 \ $ (Platform) \ Debug

Wenn es etwas Sprachbezogene Einheiten gibt es auch einen Platz zum Hinzufügen (siehe Bibliothek - übersetzt) ​​

Dies stellt sicher, dass Sie die volle Debug-Funktion haben (mit Verwenden Debug-DCU Option gesetzt) ​​und bei der Veröffentlichung haben Sie keinen Debug-Code in Ihrer Anwendung.

Nur eine Nebenbemerkung zu Bibliotheken, die Sie nicht installieren sollten, da Sie sie nur in einigen Projekten verwenden.

Verwenden Sie einfach das Optionset in Kombination mit einer Umgebungsvariablen.

Hier mein SuperObject.optionset ($(USRLIB) auf ein Verzeichnis, in dem ich alle häufig verwendeten Quellcode zu sammeln. Und $(USRLIB)\ext ist der richtige Ort für alle externen Bibliotheken).

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <DCC_UnitSearchPath>$(USRLIB)\ext\superobject;$(DCC_UnitSearchPath)</DCC_UnitSearchPath> 
    </PropertyGroup> 
    <ProjectExtensions> 
     <Borland.Personality>Delphi.Personality.12</Borland.Personality> 
     <Borland.ProjectType>OptionSet</Borland.ProjectType> 
     <BorlandProject> 
      <Delphi.Personality/> 
     </BorlandProject> 
     <ProjectFileVersion>12</ProjectFileVersion> 
    </ProjectExtensions> 
</Project> 

Um die superobject Bibliothek verwende ich die Optionsgruppe für das Projekt (rechte Maustaste auf Build-Konfiguration) einfach hinzufügen und alles ist in Ordnung.

+0

Danke für die ausführliche Antwort Sir Rufo. – Shannon