Pracuję nad dużą jednostką, urządzenie stało się tak duże, że zdecydowałem się podzielić na 3 jednostki. Załóżmy, że te nazwy jednostek to: Main
, Common
i Objects
. Jednostka Main
wykorzystuje obie pozostałe jednostki, a jednostka Objects
również używa jednostki Common
. We wszystkich 3 jednostkach jest kod, który musi odnosić się do tych warunkowych.Czy mogę zdefiniować warunki warunkowe w jednostce i użyć ich w innych jednostkach?
Problem polega na tym, że niezależnie od tego, z której 3 jednostki zdefiniowałem te warunkowe, pozostałe 2 jednostki nie widzą ich. Na pewno nie chcę ich kopiować we wszystkich 3 jednostkach. Nie chcę też definiować ich w projekcie, ponieważ jednostki te będą wykorzystywane przez wiele projektów, w którym to przypadku wszystkie projekty korzystające z tego nie powinny przejmować się warunkami.
Czy mogę zdefiniować te warunki w taki sposób, aby wszystkie 3 jednostki je widziały, bez definiowania ich w projekcie?
Możesz użyć pliku włączeń. – TLama
+1. Nie rozumiem jednak sprzeciwu wobec umieszczania ich w pliku projektu. Jeśli tam jest, nie wpłynie to na żadne inne projekty korzystające z jednostek (o ile używają jednostek, a nie skompilowanych plików .dcu), ponieważ definicje w pliku projektu będą dotyczyły tylko projektu, w którym zdefiniowane są stosowane. Inne projekty korzystające z jednostek nie znałyby nic na temat definicji i kompilowałyby jednostki bez wpływu na cokolwiek. Umieszczenie ich w pliku włączającym sprawiłoby jednak, że inne projekty musiałyby odpowiednio zmienić plik włączający przed kompilacją. –
@Ken, ponieważ niezależnie od tego, jaki projekt korzysta z tych jednostek, wszystkie projekty powinny przyjmować te same warunki i nie muszą się nimi martwić. Na przykład 10 różnych projektów prawdopodobnie potrzebowałoby tych samych warunków warunkowych. Ponadto, istnieje 12 warunków, które muszę zdefiniować, nie oczekuję, że twórca końcowy zdefiniuje wszystkie 12 z nich w projekcie, gdy nie mają powodu, aby wiedzieć, że te warunki istnieją. –