Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Activex-exe: compatibilità di versioni

E' possibile ricompilare un Activex-exe con la compatibilità binaria?
Se tendo di farlo il linker mi dice:
Errore imprevisto nel generatore del codice o del linker.
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
LINK : fatal error LNK1104: cannot open file
"J:\Work\PROGETTI\DB\SiDBE007.exe"
E' normale?
Sono costretto ogni volta ad annullare la compatibilità?
Ciao

 E' normale?
Questo e' il tipico errore che restituisce il linker quando il file e' in
uso.
Ciao.

E' normale?
Hai controllato che l' exe non sia in esecuzione ?
ciao, hal

 Hai controllato che l' exe non sia in esecuzione ?
Ovviamente :)
Parte windoz.
Lancio VB.
Apro il progtto.
Compilo con compatibilità.
Errore.
Tolgo la compatibilità
Tutto bene.
Se il file è in uso mi dice "Accesso negato".
Ciao

 Tutto bene.
Da MSDN:
Linker Tools Error LNK1104
cannot open file "filename"
The tool could not open the given file.
Tips
One of the following may be a cause:
  a.. There was not enough disk space.
  b.. The file does not exist.
  c.. The filename or its path was incorrectly specified.
  d.. The specified drive is invalid.
  e.. The file does not have the appropriate permissions.
  f.. The path for filename expands to more than 260 characters.
  g.. If the given file is named LNKn, which is a filename generated by the
linker for a temporary file, then the directory specified in the TMP
environment variable may not exist, or more than one directory is specified
for the TMP environment variable. (Only one directory path should be
specified for the TMP environment variable.)
  h.. If the error occurs on the executable filename, an earlier version of
the executable may still be running. You will need to terminate the
executable before linking it. In Windows NT or Windows 95 you can use the
utility PVIEW to look for and kill instances of the application. PVIEW.EXE
is shipped with Visual C++.
  i.. If the error message occurs for a library name, and you recently
ported the .MAK file from a previous Microsoft Visual C++ development
system, the library may no longer be valid. Ensure that the library still
exists in this circumstance.
Ciao.


Maledizione, è già la seconda volta...
Sto prendendo una brutta abitudine.
Vado a leggere MSDN, ma non dopo un'oretta in ginocchio sui ceci in sala
mensa (facciamo in cucina dato che sono a casa).
P.S.: comunque non credo di rientrare in nessuno dei casi descritti :(
Ciao

 ha scritto nel messaggio
news:wKhr7.23713$P04.1...@news2.tin.it...

Domanda stupida ma non si sa mai:
Hai settato il componente con cui deve essere compatibile?

Hai puntato la compatibilità ad un file DIVERSO da quello su cui compili? E'
buona norma mettere sempre le DLL su cui tieni la compatibilità in una
directory a parte (o usare un control-c/control-v e puntare al Copy of). Per
vari motivi, uno è che a volte è proprio VB che tiene aperto il file (e nel
caso di solito devi chiudere e riaprire il progetto), l'altro, più tecnico,
è che minimizzi il forward di interfacce COM man mano che estendi
l'interfaccia del tuo OCX (cosa comunque sconsigliata, meglio definire tutte
le proprietà, metodi ed eventi che ti servono quando progetti il tutto e
mettere tutto il codice necessario, magari senza riempirlo).
Fatto questo, se ancora non va, scarica o Faber Toys (non ho sottomano il
sito) o il process Explorer (da 
www.sysinternals.com
) e cerca quale processo
sta bloccandoti il tuo file.
Saluti
Massimo


 Hai settato il componente con cui deve essere compatibile?
il file di compatibilità deve essere la versione precedente
rinominata.
Ad esempio per il SIDB 0.0.2 compatibile con la 0.0.1
devi rinominare la versione 0.0.1 in copia-SIDB.exe
ed impostare la compatibilità binaria con tale copia
--
Fibia "Sakamoto" FBI
E-mail: 
fibi...@hotmail.com
ICQ UIN 63586057
Sito Personale: 
http://www.geocities.com/fibiafbi
VB Simple: 
http://vbsimple.virtualave.net
Membro #26 delle Mitiche Brigate Takahashi sezione Sud

 directory a parte (o usare un control-c/control-v e puntare al Copy of).
Hai centrato il problema!
Non ci avevo proprio pensato a questo diverso comportamento con gli Ax exe.
Grazie
Ciao

 rinominata.
Come risposto a Massimo: risposta esatta.
Anche tu vinci un grazie. :)
Ciao