Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Projekt oder Unit vom kompilieren ausschließen (https://www.delphipraxis.net/204241-projekt-oder-unit-vom-kompilieren-ausschliessen.html)

stahli 9. Mai 2020 23:04

Projekt oder Unit vom kompilieren ausschließen
 
Ich habe eine nicht kompilierbare Testunit, die ich als Quelltext anzeigen, aber nicht kompilieren ausschließen möchte.
(Hängt mit meiner Tool-Entwicklung zusammen.)

Ich habe die jetzt extra schon in ein Test-Projekt eingebunden. das ich entsprechend einfach nicht kompiliere.

Allerdings kompiliere ich auch gern mal alle Projekte der Projektgruppe - einfach um regelmäßig auf mögliche Compilerhinweise zu prüfen.

Dann haut mir Delphi natürlich das Testprojekt um die Ohren...


Gibt es vielleicht eine Möglichkeit:
- eine zweite Projektgruppe einzubinden
- eine Projektgruppe vom kompilieren auszuschließen
- eine Unit vom kompilieren auszuschließen und dennoch den Code farblich korrekt darzustellen?

himitsu 9. Mai 2020 23:16

AW: Projekt oder Unit vom kompilieren ausschließen
 
Die PAS darf vom Compiler nicht gefunden werden,
also gehört sie nur in einen Pfad, der ausschließlich im Bibliotheksuchpfad? steht, welchen der Editor/Debugger zum Suchen benutzt.


in dem Projekt, was diese Unit kompiliert, entweder dort im Unitsuchpfad, oder besser die Unit explizit im Projekt einbinden.


[edit]
Ich komm mit den Namen immer durcheinandern, weil das im Deutschen alles gleich heißst.

Ich glaub es war der "Suchpfad" in Tools > Optionen > Delphi > Bibliothek (nicht der Bibliothekspfad, was für die DCPs sein müsste)
ABER nicht der "Suchpfad" in den Projektoptionen. (hierzu gibt es auch einen globalen Pfad in Tool>Optionen, nur den find ich grad nicht, aber der hieß dort anders)



[edit]
Upps, beides in einer Projektgruppe, dann geht das nicht.

Ja, Build-Gruppen sind hier gut.

Oder nicht das Projekt in der Projektgruppe.
* Eine zweite Projektdatei könnte man benutzen
** ein externes Projekt zum kompilieren (eigentlich brauchst nur die DPROJ, der geht nur zusammen mit der DPR)
** und hier ein Projekt wo ein
Delphi-Quellcode:
{$MESSAGE Fatal ''}
das kompilieren vorher definiert stoppt, bzw. in den Projekt-Optionen ein DEFINE, was dann in deiner Unit via IFDEF+MESSAGE abbricht.

Uwe Raabe 9. Mai 2020 23:33

AW: Projekt oder Unit vom kompilieren ausschließen
 
Zitat:

Zitat von stahli (Beitrag 1464159)
Allerdings kompiliere ich auch gern mal alle Projekte der Projektgruppe - einfach um regelmäßig auf mögliche Compilerhinweise zu prüfen.

Dann solltest du das nicht machen :)

Alternativ kannst du auch eine Build-Gruppe erstellen, in der du alle Projekte außer dem Testprojekt aktivierst. Dann kannst du auch per Knopfdruck alle Projekte kompilieren, aber eben nicht das Testprojekt.

Über Build-Gruppen habe ich vor ein paar Jahren mal was geschrieben: Do you know Build Groups?

stahli 9. Mai 2020 23:38

AW: Projekt oder Unit vom kompilieren ausschließen
 
Das habe ich jetzt so nicht hin bekommen.

ALLERDINGS kann ich ja einfach die pas auf die IDE ziehen und extra (also zusätzlich zur Projektgruppe) im Editor öffnen.
Hätte ich ja schon mal eher drauf kommen können... ;-/

So passt das schon ganz gut für mich.

Danke Euch für die Anregungen!

himitsu 9. Mai 2020 23:45

AW: Projekt oder Unit vom kompilieren ausschließen
 
[info] Hatte meinen Text oben nochmal geändert (weil falsch :oops:)

stahli 10. Mai 2020 00:05

AW: Projekt oder Unit vom kompilieren ausschließen
 
Hat mir trotzdem geholfen! :mrgreen:

Alallart 10. Mai 2020 00:27

AW: Projekt oder Unit vom kompilieren ausschließen
 
Jetzt nur mal interessehalber - mit Compiler-Direktiven geht das nicht weil... ?

Ich hatte mal ein Programm für jemanden erstellt, der das als Demo und als Vollprogramm haben wollte. Damit jetzt keiner die Demo hackt, sollte die Demo wirklich eingeschränkt sein. Da ich aber keine zwei Programme schreiben wollte, machte ich das über Compiler-Direktiven. Ich hatte etliche Prozeduren in zwei Varianten, auch eine Unit in zwei Versionen, sogar das Optionsfenster in zwei Versionen.

Irgendwo hatte ich dann eine globale Konstante, und wenn der Konstante "DEMO" zugewiesen war, wurde so kompiliert, sonst anders.

stahli 10. Mai 2020 00:33

AW: Projekt oder Unit vom kompilieren ausschließen
 
Wäre vielleicht möglich.
Keine Ahnung, ob das dann optisch original aussehen würde.

Die Lösung mit "extra im Editor öffnen" ist aber für mich perfekt.
Die Unit gehört ja auch nicht in die Projektgruppe.


War halt der Wald, der neben dem Baum nicht zu sehen war...

jaenicke 10. Mai 2020 05:44

AW: Projekt oder Unit vom kompilieren ausschließen
 
Du kannst die Datei auch einfach in der ItemGroup in der .dproj als
Code:
<None Include="testunit.pas"/>
hinzufügen.
Oder du kannst sie in .txt umbenennen und deinem Projekt hinzufügen und dann in der Projektverwaltung wieder in .pas umbenennen, das Ergebnis ist das gleiche.

Du siehst sie nun im Projekt wie andere Units, nur mit einem anderen Symbol (das der Dateierweiterung statt dem des Typs innerhalb des Projekts). Und natürlich wird die Unit nicht mit kompiliert. Sie ist dort nur, damit du sie im Rahmen des Projekts einfach per Doppelklick bearbeiten und einsehen kannst.

stahli 10. Mai 2020 06:06

AW: Projekt oder Unit vom kompilieren ausschließen
 
Das mit dem Umbenennen funktioniert.

Vielen Dank!

Harry Stahl 10. Mai 2020 14:19

AW: Projekt oder Unit vom kompilieren ausschließen
 
Zitat:

Zitat von stahli (Beitrag 1464164)
Das habe ich jetzt so nicht hin bekommen.

ALLERDINGS kann ich ja einfach die pas auf die IDE ziehen und extra (also zusätzlich zur Projektgruppe) im Editor öffnen.
Hätte ich ja schon mal eher drauf kommen können... ;-/

Nur als Anregung, alternativ gibt es noch das hier: https://hastasoft.de/PPME.htm (Vorteil ist, das man damit i.d.R. auch Units oder Units mit Forms öffnen kann, die sich nicht in Delphi öffnen lassen (z.B. weil Delphi rum meckert, dass Formular-Komponenten nicht gefunden worden sind, etc.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf