Das ist doch Unsinn.
Ein Aufruf von "Build" erzeugt alles neu wozu Quelltexte gefunden werden.
Doch, es erzeugt nur das, was im Projekt ist, inkl. dem was davon eingebunden wurde und was wiederrum davon eingebunden wurde und .... aber IMMER nur das, was eben vom Projekt "benutzt" wird.
Build oder Compiler ist erstmal egal ... es wird auch nur das kompiliert, wo die
PAS gefunden wird, entsprechend dem vorherigen Satz.
Beim Build immer neu und beim Compile was neu ist oder verändert wurde.
Findet der Compiler nur die
DCU (zuerst) und nicht die
PAS, dann wird das nicht neu kompiliert ... kann ja auch.
Und ist eine
Unit nicht im Projekt, bzw. wird nicht davon benutzt, dann wird sie auch nicht kompiliert. (warum auch ... der Compiler kennt jene
Unit auch nicht, bzw. will sie nicht kennen)
z.B. die hauseigenen Quellcodes des Delphi (ala Forms.pas bzw.
Vcl.Forms.pas) sind standardmäßig
nicht im Suchpfad des Compiler enthalten, drum werden sie eigentlich auch nie neu kompiliert.
Der Compiler findet hier normal immer nur die DCUs (oder den Link in der DCP, wenn man mit LaufzeitPackages kompiliert).
Nur der Editor hat diese
PAS in "seinem" Suchpfad, damit man z.B. den Code schön im Debugger verfolgen kann.