Quando installi un package nell'IDE di Delphi, registri i componenti (e tutte le classi accessorie correlate all'uso in progettazione - a designtime - in Delphi).
Puoi quindi inserire un componente all'interno di un contenitore, che sia un Form, una DataModule o altro.
Detto questo, il componente (o meglio, la sua classe) viene referenziata nel codice e la unit relativa viene aggiunta alla clausola uses.
Quando vai a compilare, questa unit deve essere individuata in qualche modo, quindi ci sono due opportunità:
[list=1][*]compilare con i runtime package dalle opzioni del progetto: l'eseguibile viene generato per collegarsi dinamicamente al package runtime (file .BPL) che contiene la unit del componente, probabilmente referenziato dal package designtime caricato nell'IDE di Delphi per la progettazione;[*]compilare senza runtime package: la unit viene incorporata nell'eseguibile, quindi non è necessario ridistribuire il package con l'applicazione, ma è necessario indicare a Delphi dove si trova la unit, a meno che non sia in uno dei percorsi "standard" o nella cartella del progetto (come nel tuo caso).[/list=1]
Se scegli la seconda opzione (che rimuove generalmente la necessità di rilasciare librerie e altre dipendenze per far funzionare l'eseguibile su un'altra macchina), devi indicare a Delphi dove ricercare i file .pas (o .dcu, se non hai i sorgenti) delle unit da compilare e includere nell'eseguibile per i componenti che hai inserito nella tua applicazione.
Per configurare i percorsi, devi accedere alle opzioni del menu [Tools|Options] e posizionarti nella pagina [Environment Options|Delphi Options|Library - Win32]; il Library Path è l'opzione a cui devi aggiungere il percorso dei file .pas che intendi rendere individuabili a Delphi.
In alternativa, usi l'opzione SearchPath del progetto, che è l'equivalente ma ha effetto solo per quello specifico progetto.
Per un approfondimento sulle differenze tra LibraryPath, SearchPath, Browsing Path e così via, dai un'occhiata a questo thread su StackOverflow.
Ciao!![]()