Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Inc-Datei nur nutzen, wenn da (https://www.delphipraxis.net/209529-inc-datei-nur-nutzen-wenn-da.html)

BlueStarHH 17. Dez 2021 13:41

Inc-Datei nur nutzen, wenn da
 
Hallo,

ich möchte in 5 Quellcode-Dateien bestimmte Code-Teile nur in 2 bestimmten Projekten nutzen. Das geht ja mit den Direktiven {$IFDEF TEST}...{$ENDIF}

Nun sind diese 5 Quellcode-Dateien aber auch Teil von vielen anderen Projekten (> 40), die wir erstellt haben. Wenn ich nun eine Inc-Datei in die 5 Quellcode-Dateien mit {$I MeineDatei.inc} einbinde und diese Datei nur in die Ordner der zwei betroffenen Projekte lege, würde in allen 40 anderen Projekten das Fehlen der Inc-Datei bemängelt werden. Ich möchte die Inc-Datei nicht in alle vorhandenen und zukünftigen Projekte legen.

Gibt es eine andere Möglichkeit?

Uwe Raabe 17. Dez 2021 13:43

AW: Inc-Datei nur nutzen, wenn da
 
Leg doch einfach eine leere Inc-Datei zu den Projekten die diese nicht brauchen.

Aviator 17. Dez 2021 13:43

AW: Inc-Datei nur nutzen, wenn da
 
Kannst du das Include der INC Datei nicht auf mit einem
Delphi-Quellcode:
{$IFDEF}
Kapseln und dann in den zwei Projekten, in denen du die INC Datei nutzen willst, diese als Compiler Schalter setzen?

BlueStarHH 17. Dez 2021 13:49

AW: Inc-Datei nur nutzen, wenn da
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1499269)
Leg doch einfach eine leere Inc-Datei zu den Projekten die diese nicht brauchen.

Ich möchte die Projekte, die es nicht brauchen, nicht ändern/anfassen. Sonst müsste ich bis an mein Lebensende bei jedem neuen Projekt daran denken oder den "Aufwand" treiben.

BlueStarHH 17. Dez 2021 13:52

AW: Inc-Datei nur nutzen, wenn da
 
Zitat:

Zitat von Aviator (Beitrag 1499270)
Kannst du das Include der INC Datei nicht auf mit einem
Delphi-Quellcode:
{$IFDEF}
Kapseln und dann in den zwei Projekten, in denen du die INC Datei nutzen willst, diese als Compiler Schalter setzen?

Das ist eine gute Idee.

himitsu 17. Dez 2021 15:14

AW: Inc-Datei nur nutzen, wenn da
 
Man könnte hier ein leeres INC erstellen, was später im Suchpfad gefunden wird, also die eventuell eigentlich vorhande INC.
Aber einmal die Suchpfade beim Bearbeiten vertauscht und schon war's das.

Alternativ eine zweite INC, welche steuert was sonst noch eingebunden wird. (DEFINE oder direkt INCLUDE drin)




Leider gibt es keine automatischen Möglichenkeiten (mit {$IF auf Dateisystem/Compilercache),
um zu Prüfen ob INC/PAS vorhanden ist.

Ebenso nicht ein "binde in meine Unit ein, wenn diese Unit irgendwo im Programm verwendet wird",
um dann z.B. abweichenden Code für FMX und VCL in einer Basiskomponente nutzen zu können.
Ja, es gibt z.B. Default-Namespaces ala Vcl. oder FMX. , ABER nichtmal in neu angelegten Geräteübergreifenden Anwendungen ist FMX vorhanden.
Und dann gibt es ein Problem, wie man es machen soll, wenn keiner der Namespaces verfügbar ist.

FMX.meineunit.pas und VCL.meineunit.pas aber meineunit.pas, als Fallback, ist nicht zuverlässig verwendbar.




Auch gibt es kein "mache INCLUDE nicht", wenn zugehörige Klasse/Funktion nicht verwendet wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 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