Newsgroup: it.comp.lang.visual-basic
Titolo: [?] USER.DLL ....Package and Deployment Wizard

Quando preparo i file per l'installazione del programma mi dice che non ha
trovato il file  USER.DLL
Io non ho idea di cosa voglia e di cosa si tratti visto che sul pc non
esiste nulla di simile e non capisco a cosa gli possa servire.
Se qualcuno sa darmi una spiegazione di quella richiesta, grazie infinite.
p.s.
Lavoro su NT con Service pack 5 installato, e ho già installato l'SP3 per
Visual Studio

Una tua dichiarazione ad una funzione API punta a tale file
Controlla
Bye


Controlla nei sorgenti, e' possibile che ci siano Declare di funzioni API
relative alle API a 16bit. Sostituiscile con le opportune API di Windows a
32bit.
--
Roal Zanazzi
z...@iol.it

Avete perfettamente ragione, avevo dimenticato che per centrare il form
sullo
schermo avevo utilizzato le API con una dichiarazione simile rubata non so
dove
Public Const SM_CXFULLSCREEN = 16
Public Const SM_CYFULLSCREEN = 17
#If Win32 Then
Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As
Long
#Else
Declare Function GetSystemMetrics Lib "user" Alias "GetsystemMetrics" (ByVal
nIndex As Integer) As Integer
#End If
Vi chiedo ancora qualche informazione se mi potete aiutare:
Adesso sul mio PC con NT Workstation la user.dll non c'è ..c'è solo la
user32.dll
percui quando lancio il Package & Deployment Wizard mi dice che non la trova
e lo faccio continuare dandogli OK.
Che ripercussioni può avere questo sull'eseguibile che ne esce ?
Se non mi sbaglio, il Package & Deployment Wizard non dovrebbe inserire ne
la user32.dll ne la user.dll (quella cioè che non trova) nei file CAB, lui
trova un riferimento nel progetto ma quei file non sono menzionati nella
lista dei File Inclusi dal Wizard perciò il fatto che non trovi la dll non
dovrebbe compromettere il risultato finale.
Almeno credo !!!
Se mi potessi aiutare a fare chiarezza su questo punto ve ne sarei grato.
Ancora grazie per l'aiuto sul newsgroup !!!!

Io per centrare i form uso il seguente codice puro VB
form.top=(screen.height-from.height)/2
form.left=(screen.width-form.width)/2
Bye


Esatto.
--
Roal Zanazzi
z...@iol.it


E' piu' efficiente cosi':
Call form.Move(screen.width-form.width)/2, screen.height-from.height)/2)
--
Roal Zanazzi
z...@iol.it

Le vostre considerazioni sono corrette a per quanto io possa desumere il
SETUP WIZARD legge i file sorgenti (e non l'eseguibile compilato)del
progetto e analizza ogni singola riga declare o riferimento a controlli
usati nel progetto e quindi parte alla ricerca dei file o delle relative
dipendenze se ve ne sono.
Altra considerazione è che il Vb non può controllare la validità di una
dichiarazione ad una'api esterna almeno fino a quando questa non venga
richiamata.
Grazie Roal per la riga di codice ottimizata.
Bye


Ho provato a vedere se la compilazione condizionata funziona mettendo un
errore di battitura e infatti è ok perchè non mi segnala l'errore, percui
mentre compila salta quella porzione come appunto dovrebbe fare
Io sono un novellino di VB percui non ho pratica con API e quelle sono le
uniche che ho usato perchè volevo cercare di capirci qualcosa. Per vedere se
il problema è quello ho remmato le linee della dichiarazione API che
facevano riferimento alla "user" dll lasciando solo l'altra dichiarzione per
la "user32". In questo modo il wizard non mi dice + nulla a proposito del
fatto che non trova il file user.dll
Io ti ringrazio per l'aiuto che mi hai dato, scusa se ne approfitto ancora
ma essendo novello ho qualche problema.
Dopo aver installato il mio programma su un pc con W95 mi trovvo un run time
error per Interfaccia non Registrata..ho già postato un messaggio ieri, per
vedere se qualcuno mi poteva aiutare a risolverlo, se tu mi potessi dare una
dritta almeno per capire cosa controllare te ne sarei grato..