Sign in Join
Wiki copytemporary

IDE Window: Unit info/fr: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Cette boite de dialogue montre diverses informations sur le fichier en cours dans l'éditeur de source.
22
33## Général
44
55**Voir-\>information de l'unité** ![](/wiki-images/5/50/InformationUnit1.png)
66
77- Name: the unit name as written in the source code. Otherwise it is the filename without extension and path.
88- Type: The highlighter type. This can be changed via the popup menu of the source editor.
99- in Project: If the file is part of the project. This can be changed in the project inspector or the Project -\> Add to project/remove from project menu items.
1010- Size: size of the file in bytes
1111- Lines: number of source lines.
1212- Path: Full file name.
1313- Included by: This file was included last time by this source file. For example via an {\$I filename.inc} include directive. This is automatically set each time the IDE parses the unit containing the include directive. You can clear this with the Clear button. You can use Search -\> Goto include directive to jump to the include directive of the parent file.
1414- Clear: This button clears the 'Included by'.
1515
1616## Chemin des unités
1717
1818![](/wiki-images/8/8d/InformationUnit2.png) These are the unit paths used by the IDE for this file. The unit paths are used to search for .ppu, .pas, .pp, .p files. Normally these paths are give to the compiler. But there are cases where this is not the case. And it does not show the unit paths defined in the compiler config file (fpc.cfg).
1919
2020These paths are created by the rules in the Environment -\> CodeTools defines editor. All files in a directory share the same search paths (unit paths, include paths, ...). If this a project directory, all project unit paths are added. If the directory belongs to a package its unit paths will be added. If you put a project and a package into one directory, both paths will be added. That it why it is recommended to give packages and projects directories of their own.
2121
2222Difference between compiler search paths and IDE search paths: Normally the difference does not matter. The compiler is invoked in one directory with a set of search paths. For example: There are 4 packages:
2323
24-` /home/user/package1/package1.lpk`\
25-` /home/user/package2/package2.lpk`\
26-` /home/user/package3/package3.lpk using package1 and package2`\
27-` /home/user/package4/package4.lpk using package1 and package2`
24+```text
25+ /home/user/package1/package1.lpk
26+ /home/user/package2/package2.lpk
27+ /home/user/package3/package3.lpk using package1 and package2
28+ /home/user/package4/package4.lpk using package1 and package2
29+```
2830
2931When package3 is compiled in /home/user/package3 with unit path /home/user/package1/;/home/user/package2/. When the compiler finds a unit in /home/user/package2/ and compiles it it applies all unit paths, including path to /home/user/package3/. This is normally unwanted and therefore a standard package defines an output directory. But for this example we assume the package compiles it .ppu files into the source directory.
3032
3133When the compiler is invoked for package4 it will be started in a different directory with different search paths. Here it is invoked in /home/user/package4 with unit path /home/user/package1/;/home/user/package2/. When the compiler finds a unit in /home/user/package2/ and compiles it it applies all unit paths, including the path to package4. This means the compiler compiles the units in package2 with two different unit paths. This is normally a bad idea as the result depends on the order - if you compile first package3 then package4 or the other way round. But in real world (e.g. the Delphi world) this is more common than one would expect. It is clear, that if packages contain the units with the same name the order of the file paths in the search paths becomes important.
3234
3335The IDE solves this by collecting search paths for every directory. That means for example the search paths for the Lazarus sources have their own unit paths and do not include the unit paths to your project. A directory, that is not part of your project, does not include the unit paths of your project. This way you can browse Delphi VCL sources and Lazarus LCL sources both containing units with same names.
3436
3537## Inclure les chemins
3638
3739![](/wiki-images/3/35/InformationUnit3.png) Pareil que les chemins des unités, mais pour les chemins des fichiers d'inclusion. Montre les chemins de recherche pour les directives d'inclusion {\$I filename.inc} ou {\$INCLUDE filename.inc}.
3840
3941## Chemins des sources
4042
4143![](/wiki-images/9/96/InformationUnit4.png) This is the unit path plus the compiled source paths. For example:
4244
43-` /home/user/project`\
44-` /home/user/package/lib`
45+```text
46+ /home/user/project
47+ /home/user/package/lib
48+```
4549
4650The project uses the package. The package source files are in /home/user/package and the output files (.ppu) of the package are put in /home/user/package/lib. The unit path of the project will contain the path to the output directory of the package - /home/user/package/lib. So when the compiler is invoked to compile the project it finds the .ppu files of the package, but not the source (.pas) of the package. This way it can not recompile the package, which is good, because the compiler options of the project are probably different than for the package. The IDE should find the source files (.pas). It knows, that /home/user/package/lib is the output directory of the package, so it adds the unit path of the package to the source path of the project. This addition is called the compiled source path.
4751
4852## Afficher les valeurs des outils de code
4953
5054Voir [[IDE Window: Codetools Directory Values/fr|Outils de code Répertoire de valeurs]]
5155
5256---
5357*From the Free Pascal wiki, page "IDE Window: Unit info/fr", as it stood on 2007-07-14 after a change by Paulatreides, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history