Ścieżka wyszukiwania Delphi vs ścieżka Biblioteki vs ścieżka przeglądania

W Delphi mogę dołączyć kod źródłowy folderu dodając go do ścieżki wyszukiwania projektu lub dodając go do ścieżki Biblioteki. Ścieżka wyszukiwania dotyczy tylko bieżącego projektu, podczas gdy ścieżka Biblioteki dotyczy każdego projektu otwartego za pomocą IDE.

Poza tym, czy jest jakaś funkcjonalna różnica między ścieżkami wyszukiwania i biblioteki?

Mój powód pytania: mam folder X ze źródłem używanym przez projekt A. kiedy dołączam ten folder do ścieżki wyszukiwania projektu a, to mówi, że nie może znaleźć określonego pliku w tym folderze. Kiedy dołączam go do ścieżki biblioteki, a następnie projekt a kompiluje dobrze.

Do tej pory zawsze miałem wrażenie, że jedyną różnicą było to, że jeden jest specyficzny dla projektu, a drugi globalny.

Skoro już jesteśmy w temacie (i ryzykując zrobienie z siebie głupca): Jaka jest funkcjonalna różnica między "ścieżką biblioteczną" a "ścieżką przeglądania"?

 29
Author: JosephStyons, 2009-05-01

2 answers

Z tego, co wiem, ścieżka przeglądania jest miejscem, gdzie debugger powinien szukać plików podczas łamania/wchodzenia do plików źródłowych, które nie znajdują się w ścieżce biblioteki.

Powiedzmy, że masz komponent thirdparty, którego używasz. Wskazujesz ścieżkę biblioteki do katalogu, w którym znajdują się wstępnie skompilowane pliki dcu tego komponentu. Twój projekt będzie używał tych plików dcu podczas kompilacji. Jest to dobre, ponieważ nie będzie rekompilowany za każdym razem, gdy wykonasz kompilację.

Ale poprzez włączenie skompilowanego dcu plików, tracisz możliwość debugowania komponentu thirparty. Jeśli w ścieżce przeglądania umieścisz ścieżkę do miejsca, w którym znajdują się pliki źródłowe, debugger znajdzie źródło i pozwoli Ci wejść do niego.

Domyślne ustawienia vcl pokazują to. W ścieżce biblioteki umieścili $(BSD)\Lib, a w ścieżce przeglądania umieścili $(BDS)\SOURCE \ WIN32...

Update: istnieją dwa różne rodzaje ścieżek wyszukiwania: ścieżka wyszukiwania kompilatora i ścieżka wyszukiwania debuggera. Pierwszy jest tam kompilator szuka plików podczas kompilacji, a drugi to miejsce, w którym debugger szuka plików źródłowych podczas debugowania.

Kompilator znajdzie tylko pliki w ścieżce Biblioteki lub w ścieżce wyszukiwania projektów. Debugger znajdzie identyfikatory w ścieżce wyszukiwania kompilatorów oraz ścieżce przeglądania, ścieżce źródła debugowania dla projektu i globalnej ścieżce wyszukiwania debugowania.

Nie powinno być żadnej różnicy w określaniu rzeczy globalnie lub PR projektu.

 28
Author: Vegar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-01 17:45:03

Debugger znajdzie również pliki w ścieżce Biblioteki.

 1
Author: Srci,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-20 21:53:50