Newsgroup: it.comp.lang.delphi
Titolo: Sono bloccato !

Dopo giorni che lavoro senza problemi su una applicazione, ho provato a 
sperimentare una funzionalità creando un piccolo progetto, ma non sono 
riuscito a compilarlo perchè mi dà il seguente messaggio:
 
[DCC Error] CopiStreamP.dpr(5): F2051 Unit ExtCtrls was compiled with a 
different version of ShellAPI.NIIF_NONE
 
Mi sono subito venuti i brividi, perchè mi era già capitato anni fa e ne ero 
uscito solo proseguendo l'attività su un altro PC. Ho immediatamente provato 
a caricare l'applicazione in lavorazione e purtroppo i miei peggiori timori 
si sono materializzati. Adesso, anche questa sulla quale sono almeno due 
settimane che modifico e provo senza problemi, come lancio la compilazione 
mi dà lo stesso messaggio.
Non ho fatto niente di particolare, non ho toccate le impostazioni, i path 
delle librerie, niente.
Immagino sia quasi impossibile darmi un aiuto con così pochi elementi, ma 
magari avete un consiglio su cosa andare a controllare o non so cosa... 
 

Ho dimenticato di dire che sono in ambiente Windows 10 e lavoro con Delphi 
2007 su un portatile sul quale ho anche Delphi XE7 installato (Ho provato a 
lanciare una compilazione su un progetto fatto con XE7 e va bene).
 
In ambiente Delphi 2007 ho provato a creare un progetto nuovo con un form 
vuoto e dà errore. Ho controllato le opzioni, in particolare il Library path 
ed è corretto. Ho controllato le Environment variables e qui nel "path" ho 
trovato qualche riferimento ad Embarcadero e quindi a XE7.
Ho provato ad eliminare questi percorsi, ma continua a dare errore lo 
stesso..
 
Questo era il "path" originale (in Environment Variable) e io ho provato a 
togliere tutti i percorsi dove compariva 'Embarcadero' presumendo che si 
riferiscano a XE7:
 
C:\Program Files (x86)\CodeGear\RAD 
Studio\5.0\bin;C:\Users\Public\Documents\RAD Studio\5.0\Bpl;C:\Program Files 
(x86)\Common 
Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\Program 
Files 
(x86)\Embarcadero\Studio\20.0\bin;C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl;C:\Program 
Files 
(x86)\Embarcadero\Studio\20.0\bin64;C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Win64;C:\Program 
Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program 
Files\Intel\Intel(R) Management Engine 
Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program 
Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program 
Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files 
(x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program 
Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program 
Files\Intel\WiFi\bin\;C:\Program Files\Common 
Files\Intel\WirelessCommon\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program 
Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files 
(x86)\Embarcadero\Studio\15.0\bin;C:\Users\Public\Documents\Embarcadero\Studio\15.0\Bpl;C:\Program 
Files (x86)\Windows 
Live\Shared;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;;D:\Delphi\Lib\Jedi
 
 
 
"Stark"  ha scritto nel messaggio news:qfve4c$2ar$1...@gioia.aioe.org...


Ciao,
 
[]
[DCC Error] CopiStreamP.dpr(5): F2051 Unit ExtCtrls was compiled with a
different version of ShellAPI.NIIF_NONE
[]
 
Come dice il messaggio di errore stasi compilando con diverse versioni.
E' come se tu stessi compilando il tuo progetto con delphi 2007 usando le 
unit compilate con X7 (o viceversa).
 
Se hai i sorgenti allora basta che fai un bel BUILD (che ricompila tutto 
quello che trova).
Se non hai i sorgenti ... allora devi ritrovare le vecchie unit ....
 
Per evitare queste situazioni io ho risolto "isolando" le diverse versioni 
cosi' riprendendo progetti diversi in versioni diverse hanno le loro unit 
indipendenti.
 
Ciao
 
Daniele 
 

Ciao, grazie per la risposta. Però non mi è chiaro cosa dovrei fare secondo 
te.
I sorgenti li ho tutti, perchè sono miei programmi, ma il build non riesco a 
farlo perchè mi dà subito quell'errore.
E poi, perchè fino a due giorni fa riuscivo a compilare tranquillamente e 
ora tutti i progetti (o almeno i tre o quattro che ho provato e ricompilare) 
danno questo errore?
E perchè succede anche creando un nuovo progetto senza niente dentro?
Cosa ha fatto scattare questa cosa, visto che non mi pare di aver fatto 
niente ?
Ieri l'ho passato disinstallando Delphi 2007 e reinstallandolo. Purtroppo 
tutto tempo buttato via.
Ovviamente, le directories impostate per Delphi 2007 e per XE sono diverse, 
ma ciononostante non escludo che tu abbia ragione con la tua diagnosi, anche 
se non so come determinare le unit che i due ambienti potrebbero condividere
Quando dici che hai "isolato" le diverse versioni cosa intendi ?
 
"Daniele"  ha scritto nel messaggio news:qg1km0$1k9p$1...@gioia.aioe.org...


Ciao,
  ho avuto anch'io (come molti) questo tipo di problema.
E' per questo che per i miei progetti ricorro solo a versioni 
free/commercial con sorgenti.
Capire del perche' fa cosi' si deve essere bravi !!! io non sono cosi' bravo 
.. anzi ...
Dato che hai gia' disinstallato ed installato tutto direi che il 90% l' hai 
gia' fatto.
 
Per capire cosa non va bene con quell'errore io ho fatto cosi':
Progetto nuovo, inserito 1 componente standard e run; poi ho inserito un 
componente di una libreria diversa e run, ho continuato fino a quando mi e' 
capitato l'errore di compilazione.
Nel mio caso era una unit nelle uses della libreria del componente che non 
era stata ricompilata.
Stai attento alle unit inserite e che non usi .... anche loro a volte creano 
problemi (tipo inserisci un componente jvcl e lo togli. Nelle uses trovi 
tutte le librerie usate dal componente anche se non lo usi).
Laborioso .... ma cosi' capisci cosa c'e' che non va.
 
Quando dico "isolato" intendo che per ogni versione di delphi ho, nella sua 
sotto directory, tutte le librerie.
Per esempio ho una libreria, datata ma buona, chiamata gmPrintsuite in tutte 
le versioni.
 
Puo' sembrare esagerato ...
 
Fammi sapere come va
 
Ciao
Daniele 
 

Grazie davvero del tuo aiuto. Ti descrivo cosa ho fatto dopo letto il tuo 
messaggio:
1-Ho avviato Delphi 2007 e creato un nuovo progetto (File>New>Vcl Form..) 
senza alcun componente.
2-Ho provato a togliere tutti gli uses della sezione Interface e a compilare 
rimettendone uno alla volta. Non ha mai dato errore, allora ho provato a 
creare un nuovo progetto (sempre un form vuoto) e a compilare e lo ha fatto 
senza problemi.
3-A questo punto, poichè avevo ancora da installare le due o tre fix che 
vengono con la installazione di Delphi 2007, l'ho fatto e sono rientrato 
nell'ide.
4-Ho di nuovo creato un nuovo progetto (File>New>Vcl Form..) senza alcun 
componente e avviata la compilazione. HA RICOMINCIATO A DARE L'ERRORE!
 
Questo non è incomprensibile ?
Ho provato a togliere i moduli da uses uno ad uno. Fino a che non ho 
reintrodotto Forms, ha dato solo "undeclared identifier TForm", poi ha 
ricominciato a dare il solito errore, che dà pure anche reintroducendo 
Controls e Dialogs.
Riassumendo, le unit " Windows, Messages, Sysutils, Variants, Classes, 
Graphics" sembra gli vadano bene, mentre Forms, Controls e Dialogs, danno 
l'errore "Unit ExtCtrls was compiled with a different version of 
ShellAPI.NIIF_NONE".
 
Sono andato un pò lungo, ma volevo spiegarti bene perchè tu potessi 
aiutarmi. Cosa ne deduci ? Cosa dovrei fare ora ?
 
 
 
"Stark"  ha scritto nel messaggio news:qfve4c$2ar$1...@gioia.aioe.org...


Ciao,
  non sono pratico di delphi 2007 ma da quello che scrivi sembra il problema 
sia generato da una delle fix che installi.
 
Cosi' tanto per dire ... hai preso in considerazione il passaggio ad una 
versione piu' recente??
 
Ciao
Daniele
 
 

Ho XE7 installata, ma il passaggio di questa applicazione implica due grosse 
migrazioni: Unicode e l'abbandono di BDE/DBase ..
E comunque dove risolvere il problema ..
Ho controllato le dcu delle unit TForms etc. ma sono tutte nel posto giusto 
.. e non credo che siano le fix, perchè il problema si era presentato prima 
di reinstallare Delphi.
Nessun altra idea ?
 
"Daniele"  ha scritto nel messaggio news:qg6o0i$79k$1...@gioia.aioe.org...


 Nessun altra idea ?
Nessuna!!
Mi spiace non poterti essere di aiuto piu' di cosi'.
I problemi di versione quasi (visto quello che ti capita) sempre risolti con 
la ricompilazione.
 
Spero tu possa risolvere al piu' presto.
 
Ciao
Daniele 
 

Grazie comunque
 
"Daniele"  ha scritto nel messaggio news:qg9bih$1h5$1...@gioia.aioe.org...


Ciao,
hai risolto ??
 
Daniele

Ciao Daniele, no, non ho risolto. Sono tornato per qualche settimana nella 
casa dove ho il fisso e li non ho problemi. Tornerò a dover affrontare il 
problema tra una settimana quando mi trasferisco e sarò costretto a lavorare 
con il portatile- Penso che ripartirò da zero e installerò il solo Delphi 
2007 abbandonando la coesistenza con  XE7.
 
"Daniele"  ha scritto nel messaggio news:qgrr60$tva$1...@gioia.aioe.org...
