2012-03-13 12 views
8

Jeśli dokonuję większych zmian w jednostce, chciałbym zmienić jej nazwę, aby było jasne, że jest to inna wersja i uniknąć pomyłki z innymi wersjami zarchiwizowanymi, na przykład: CSVUtils. PAS staje CsvUtilsNew.PASNarzędzie do zmiany nazwy jednostki i wszystkich odniesień do niej

ale wszystkie odniesienia do niego z innych jednostek mają być zmieniane ręcznie, np:

Unit ManiForm 

Uses 
    CSVUtils 

staje

Unit ManiForm 

Uses 
    CsvUtilsNew 

Jest to bardzo pracochłonne w złożonych projektach.

Icarus jest bardzo dobry w znajdowaniu wszystkich odnośników, ale nie mogę znaleźć żadnego narzędzia, które automatycznie aktualizowałoby wszystkie inne jednostki.

Czy ktoś wie o jakichkolwiek narzędziach, które automatycznie aktualizują odwołania do jednostek?

Dziękujemy

Odpowiedz

3

Można również zdefiniować alias jednostki w opcjach projektu. E.g. CSVUtils=CsvUtilsNew

+0

+1 Dla kreatywności, zakładając, że faktycznie działa. – NGLN

+0

To na pewno działa. Użyłem tej funkcji, aby pomóc w migracji z D6 do D2010. Jednostki, o których mowa, były jednostkami zarządzającymi motywem XP Mike'a Lischke'a, które zostały zaabsorbowane przez Delphi w D7, co doprowadziło do zmian nazwiska. Również jednostki obrazu png i gif, które miały różne nazwy. Potrzebowałem tylko aliasów, podczas gdy chciałem, aby kod skompilował się z obydwoma kompilatorami. Aliasy jednostek działały znakomicie. Nie traktowałbym ich jednak jako rozwiązania długoterminowego. –

+0

Aliasy jednostek mogą być właściwym rozwiązaniem dla dostawców komponentów, którzy potrzebują jednego źródła do kompilacji we wszystkich wersjach delphi, ale na poziomie aplikacji (a nie dostawcy na poziomie komponentu) przestaje to mieć sens. –

7

chciałbym użyć Notepad ++ lub UltraEdit do wyszukiwania & Zastąp we wszystkich plikach (* .pas * .dpr * .dproj) stara nazwa jednostki z nową nazwą jednostkową. O ile nie masz zmiennych lub funkcji, które mają taką samą nazwę jak urządzenie, działa to bardzo dobrze, jest szybkie i nie wymaga żadnego wyspecjalizowanego analizatora składni.

11

Chciałbym użyć GExperts Grep Wyszukaj i zamień.

+0

Wszelkie grep będzie działać w tym celu. Używałem tego (http://www.wingrep.com/) gołych kości przez lata. – RobertFrank

+0

Prawdopodobnie, ale grecki GExperts jest zintegrowany z IDE i nieco dostosowany do rozwoju Delphi. –

+0

@Ulrich, zgadzam się. Dzięki GExperts grep możesz np. Ograniczyć swój zakres do projektów, grup projektów, katalogów itp. – iamjoosy