Newsgroup: it.comp.lang.delphi
Titolo: DesignIntf.dcu not found

Salve,
   per non reinventare l'acqua calda volevo utilizzare un componente già 
pronto: "TPrintDataSet".
 
Poiché fa uso del file in oggetto, ho compilato il package mettendo tra 
le required il file "DesignIDE.dcp".
 
Così ho potuto installare il componente.
 
Inserendo il componente su un progetto, però, ritorno ad avere lo stesso 
problema di prima: non viene trovato il file in oggetto!
 
Nel mio library path non c'è il percorso relativo alla directory 
toolsapi che contiene il file "DesignIntf.pas", eppure mi riesce di 
compilare regolarmente la JVCL, la ZEOSLib ed altri file che ne fanno uso.
 
NON mi riesce di comprenderne il perché di questo comportamento.
 
Qualcuno potrebbe chiarirmi il perché?
 
Grazie.


Prova a copiare il tuo "DesignIntf.pas" nelle librerie che dovrebbe essere in 
C:\Programmi (x86)\CodeGear\RAD Studio\5.0\lib, oppure prova a copiare DesignIntf.pas direttamente nella cartella dove hai il progetto, dovrebbe trovarlo in questo modo.


 
Se metto questo file nel percorso di ricerca non ci sono problemi, però, 
il fatto è che ... ho diverse altre librerie, la Jvcl in testa, che 
utilizzano questo file e compilano senza dare alcun problema pur non 
avendolo nel percorso di ricerca.
 
E' questo che vorrei comprendere: *perché la jvcl compila senza avere il 
file in oggetto nel percorso di ricerca.*
 
Grazie.
 
Ciao.

 file in oggetto nel percorso di ricerca.*
 
 
Apri una una delle unti jvcl che usano questo file.
Click dx del mouse, "open file at cursor" e vedi dove ti porta.
Se di apre il file .pas, probabilmemte nelle impostazioni dell'ide è indicata quella cartella nel library path.
 
 
A.


Quello che suggerisci già lo fa con la unit che non mi riesce di 
compilare :( è proprio per questo che sono confuso.
 
 
Nella jvcl ci sono 162 files che la usano e, facendo come hai suggerito 
si apre il file nella seguente cartella: "c:\program files 
(x86)\embarcadero\rad studio\7.0\source\ToolsAPI\DesignIntf.pas"
che è lo stesso dove punta il file che non mi riesce di compilare :(
 
e questa cartella NON è nel "Library path" ma nel "Browsing path" e, 
credo, che il file venga trovato nell'IDE per questo motivo però, resta 
il fatto che la jvcl ed altre librerie riesco a compilarle.
 
La compilazione dei packages che contengono i sorgenti che utilizzano il 
files "DesignIntf.dcu" si compilano mettendo nelle requires il file 
"DesignIDE.dcp" e i componenti vengono regolarmente registrati e messi 
nella palette e si possono utilizzare nei programmi che vengono 
compilati senza problemi.
 
La libreria che contiene il file che non mi riesce di compilare, 
infatti, viene installata nella palette ma, utilizzando il componente il 
cui sorgente nelle uses ha il file in oggetto non mi riesce di compilarlo.
 
Non ne capisco la ratio.
 
Grazie.
 
Ciao.

Modifica il package rimuovendo tutta la parte relative ai required packages.
Togli proprio tutto.
Vedrai che quando provi a fare una build, sara' l'ide a dirti che occorre aggiuneger alcuni packages: tu confemri e buonanotte.
In questo modo hai la certezza che nel tuo package ci saranno riferimento solo a quello che serve.
 
Poi, fai un altra prova.
Crea un progetto "new vcl application".
Nel form che l'ide aggiunge in automatico al progetto metti nelle uses sta kaz di unit. 
Poi, prova DA QUI ad usare "open file ad cursor" e vedi cosa succede.
 
A.
 
 


Già fatto, è la prima cosa che ho provato ed è lo stesso. :(
 
A questo punto comincio a pensare che ho qualcosa di configurato male 
che non riesco a trovare.
 
Nel frattempo ho risolto il mio problema di stampa e, con calma, proverò 
ad investigare meglio.
 
Grazie.
 
Ciao.
 

 che non riesco a trovare.
 
..il search path del package?
 
A.

Ciao,
ho avuto anch'io questo problema con delphi Xe 2.
 
Oltre a quanto detto da Alberto prova a dare un'occhiata qui
 
http://stackoverflow.com/questions/24806085/designintf-dcu-not-found-in-custom-component
 
http://stackoverflow.com/questions/28944629/how-to-solve-error-designintf-dcu-not-found-in-project-not-package
 
 
Dovresti risolvere.
 
Ciao
 
Daniele 
 


 
 
Si, così si risolve, anche se in modo un po più articolato:
In pratica bisogna copiare la directory "ToolsAPI" fuori dal percorso 
"Program Files" dove l'utente normale non ha diritto di scrittura, 
perché, altrimenti, non sarà possibile creare i files .dcu 
corrispondenti e aggiungerla nel "Library path".
 
La cosa però non mi chiarisce il perché la cosa non è necessaria per la 
JVCL, ZEOS, ed altre librerie che ho installate, compreso la mia personale.
 
Grazie.
 
Ciao.
 
 

 personale.
 
Non vorrei dare un'interpretazione sbagliata, puo' essere che durante 
l'installazione delle jcl/jvcl i diritti siano automaticamente impostati su 
amministratore oppure "a tutti gli utenti".
Onestamente, quando mi era capitata questa situazione su XE2 (se non ricordo 
male) il problema era sulla divisione della unit in piu' unit.
Non ho avuto bisogno di altre directory.
 
Alla prossima
 
Ciao
 
Daniele