AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pfade in den Umgebungsoptionen

Ein Thema von idefix2 · begonnen am 28. Mai 2017 · letzter Beitrag vom 31. Mai 2017
Antwort Antwort
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Pfade in den Umgebungsoptionen

  Alt 28. Mai 2017, 22:03
Hallo,
nachdem es mir gelungen ist, mein Studio 10.1 Berlin komplett abzuschiessen, habe ich es jetzt neu installiert. Das möchte ich zum Anlass nehmen, die diversen Optionen vom Start weg richtig zu konfigurieren. Ausgabeverzeichnisse als Unterverzeichnis meines User-Verzeichnisses anzulegen, halte ich für unsinnig, deshalb werde ich das auf keinen Fall beibehalten.

Es sind aber noch einige andere Dinge in der Standaradkonfiguration, die ich mir seltsam oder unverständlich erscheinen.

1.
Vorgabe Bibliothekspfad:
$(BDSLIB)\$(Platform)\release
$(BDSUSERDIR)\Imports
$(BDS)\Imports
$(BDSCOMMONDIR)\Dcp
$(BDS)\include

Laut Anzeige der Verzeichnisse existieren jetzt, unmittelbar nach der Installation, die standardmäßig vorgegebenen Bibliothekspfade
$(BDSLIB)\$(Platform)\release
$(BDS)\Imports
nicht, sie werden grau angezeigt. $(BDSLib) steht laut der Information im Reiter "Umgebungsvariablen" für das Verzeichnis c:\Program Files\Embarcadero\Studio\18.0\lib - aber das Verzeichnis "c:\Program Files\Embarcadero\Studio\18.0\lib\win32\release" existiert, und es enthält auch die DCU-Systemdateien, die man zum Erstellen von Delphi Anwendungen braucht (Platform muss win32 ein, etwas anderes kennt die Starter-Edition nicht). Woran kann es liegen, dass das grau dargestellt wird
Das Unterverzeichnis $(BDS)\Imports existiert tatsächlich nicht - sollte man es trotzdem im Suchpfad lassen (und wenn ja, warum)?

2.
Zu Package-Ausgabeverzeichnis und DCP-Ausgabeverzeichnis steht in der Online Hilfe:
Zitat:
Package-Ausgabeverzeichnis
Gibt an, wo der Compiler die compilierten Package-Dateien ablegt.
DCP-Ausgabeverzeichnis
Gibt an, wo die mit Delphi compilierten Packages abgelegt werden.
???
Was ist da was? Und vor allem, warum sind diese Ausgabeverzeichnisse nicht Teil des Bibliothekspfads? Damit eine neu erstellte BPL-Datei gefunden wird, müsste sie doch im Bibliothekspfad sitzen. Oder muss man die immer nach dem Kompilieren manuell in ein Verzeichnis des Pfades kopieren? - das würde vielleicht einige katastrophale IDE Abstürze erklären, weil bei meiner vorigen Delphi Installation hatte ich das Package Ausgabeverzeichnis zum Pfad hinzugefügt.

3.
Wie ist das eigentlich mit der Zweigleisigkeit DCU-Files und Package? Wenn eine DCU Datei in einem Package enthalten ist, wird dann immer die Version aus dem Package genommen und die DCU-Datei (möglicherweise eine andere, ältere oder neuere, Version) ignoriert?
Oder hängt das davon ab, was im Suchpfad weiter vorne steht?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.079 Beiträge
 
Delphi 12 Athens
 
#2

AW: Pfade in den Umgebungsoptionen

  Alt 28. Mai 2017, 23:23
Zitat:
sie werden grau angezeigt
Das hat nichts zu sagen und deshalb auch niemals den Bereinigen-Knopf drücken. (ungültiges Löschen)

z.B. die Variable für "Platform" wird in diesem Dialog nicht aufgelöst, wobei Delphi zum Testen da auch alle Konfigurationen testen müsste, wenn es das auflösen würde.

Es gibt zwei Möglichkeiten, wie Delphi mit sowas umgeht.
* nichtvorhandene Variablen "leer" auflösen, also durch Leerstring ersetzen
* oder diese Variablen garnicht auflösen, womit das gesuchte Verzeichnis dann "$(Platform)" hieße.

Vielleicht kennst du auch schon kranke Setups, die ein Programm wirklich nach C:\%programfiles%\irgendwas\... installiert hatten.



DCP ist die "kompilierte" Packagedefinition der öffentlichen Schnittstellen (die Definition der BPL, welche zum Kompilieren weiterer EXE/DLL/BPL genutzt wird, wenn man mit Laufzeitpackages kompiliert)
und BPL ist das kompilierte Package. (quasi die Delphi-DLL, welche dann zur Laufzeit verwendet wird)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (28. Mai 2017 um 23:49 Uhr)
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: Pfade in den Umgebungsoptionen

  Alt 29. Mai 2017, 00:05
Danke, jetzt wird es etwas klarer.

Aber was muss man jetzt wirklich als Bibliothekspfad einstellen, wenn man Packages kompiliert? Sollen die beiden Package-Ausgabeverzeichnisse (oder eines davon) zum Bibliothekspfad hinzugefügt werden? Oder soll man wirklich immer nach einem Package-Kompilationslauf die Packagedateien (beide?) in ein Verzeichnis des Bibliothekspfads manuell verschieben - oder sollte man gar die Packages jedes mal vor dem Kompilieren deinstallieren und danach neu installieren? Das wäre dann ja unsäglich mühsam.

Eben fällt mir auf, die IDE müsste ja eigentlich von der Installation des Packages her wissen, wo sich die BPL Datei befindet, unabhängig vom Bibliothekspfad - aber wie ist es mit der DCP Datei, braucht sie die auch? Deren Speicherort wird ja bei der Installation eines Packages nicht angegeben..

Ich hatte das Komponenten-Ausgabeverzeichnis im Bibliothekspfad, manchmal hat das Kompilieren einwandfrei funktioniert, aber manchmal ist nach dem Kompilieren die Delphi-IDE komplett abgeschmiert und war nur mehr via Taskmanager zu beenden (zuletzt hat auch das nichts mehr geholfen, weil sie auch nach einem Neustart gleich wieder Exceptions gemeldet hat und nicht mehr bedienbar war, deshalb die Neuinstallation). Worauf muss man da achten?
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#4

AW: Pfade in den Umgebungsoptionen

  Alt 31. Mai 2017, 00:51
Ich komme mit diesen Einstellungen einfach nicht klar. Ich habe jetzt versucht, etwas Ordnung in mein Unit-Chaos zu bringen, aber irgendwie klappt das nicht.

Ich habe zwei Arten von "Tools"-Units, die in ziemlich alle meine Propramme eingebunden werden: eine Gruppe Units, die Hilfsfuktionen und Klassen zur Verfügung stellen, zum Beispiel für das Bearbeiten von ini-Files, für das Erstellen eines Log-Files, für das einfache Erstellen von Diaogfenstern etc, und eine andere Gruppe von Units, die selbst geschriebene (abgeleitete), erweiterte Komponenten beinhalten.
Ich habe jetzt zwei Package-Projektdateien erstellt, die eine für ein Package "Tools", die andere für ein Package "Components".

Alle Quelltexte liegen in \Dephi\Tools, als Ausgabeverzeichnis habe ich für diese beiden Projekte das Verzeichnis \delphi\Tools\DCU eingestellt, als Package-Ausgabeverzeichnis \Delphi\Packages. Die beiden Verzeichnisse \delphi\Tools\DCU und \Delphi\Packages liegen im globalen Delphi Bibliothekspfad und die Files da drinnen sollten eigentlich immer gefunden werden.

Wenn ich die beiden Packages kompiliere, scheint alles in Ordnung zu sein, die DCU und BPL Dateien landen dort, wo ich sie erwarte, in den beiden Verzeichnissen \delphi\Tools\DCU und \Delphi\Packages.
Aber wenn ich jetzt ein einfaches Testprogramm kompiliere, für das ich nur ein paar von den neuen Komponenten auf die Form gezogen habe, dann werden alle Units der beiden BPLs, die schon kompiliert vorliegen, noch einmal kompiliert und in c:\Delphi\Tools\Win32\Debug\ zusammen mit der DCU der Testform und der Exe des Testprogrammes zusätzlich abgelegt. Warum werden die bei Erstellen des Testprogramms neu kompiliert, wo sie schon im Suchpfad fix und fertig vorliegen (und auch seit der letzten Erzeugung der Packages nicht geändert worden sind) - sie sind nicht Bestandteil des Testprojekts, sondern nur in die uses Klausel der Hauptunit des Testprogramms eingebunden.
Miniaturansicht angehängter Grafiken
vz1.png   vz2.png   vz3.png  
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz