Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 e Vista

Salve a tutti :-)
Ho una applicazione scritta in VB6 che ha qualche problemino con Vista.
In linea di massima i problemi gli ho risolti, impostando l'eseguibile 
compatibile con "Windows XP SP2" e impostando il programma in modo da 
essere eseguito come utente "Amministratore".
Però vorrei, se possibile, risolvere i problemi da codice e non con 
stratagemmi poco pratici...
L'installazione è avvenuta in modo normale (ho usato inno setup), ma al 
riavvio del sistema mi ha segnalato che non poteva registrare alcune 
librerie (accc. non ho gli appunti sottomano, vedo di integrare il post 
domani).
Provo cmq andare a memoria:
- STDOLE2.TLB (questa è sicura)
   anche registrandola manualmente dava lo stesso errore.
Altre librerie sono .ocx che sicuramente vista NON può avere.
Alla prima esecuzione del programma, anche indicando la "modalità 
compatibile con XP SP2", ma senza indicare di eseguire il software come 
amministratore, il programma partiva, compariva lo splash screen con le 
varie info, eseguivo la registrazione ma poi si bloccava con il seguente 
errore:
Errore di run time 3265
Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al 
numero richiesto.
L'errore è tipico di quando non si riesce a leggere un campo del 
database (ad esempio perché si è sbagliato il nome di un campo), ma lo 
stesso applicativo con lo stesso DB su un altro PC con XP, non dava 
problemi.
Alla fine il problema l'ho risolto, come ho già detto, impostando 
l'esecuzione del programma come amministratore, ma giustamente vista mi 
fa comparire un avvisto ad ogni avvio, che non si conosce l'autore del 
Software.
Ringrazio Anticipatamente per le risposte
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
	<-- Nuovo Sito... ora in Joomla
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
-----
Now Powered by Linux KUbuntu 8.04 "Hardy Heron"

 Greg
Alberto De Luca
----------------- 

 In un post del 10.5.08 
Che si chiamava "VB6 vs 
WC.NET
greg

 \Briscola\
Ok.. grazie per le risposte :-)
In effetti ora su Vista funziona senza problemi e senza nemmeno attivare 
nessun tipo di compatibilità...
Aggiungo qualche suggerimento per chi capita in questo post cercando di 
risolvere lo stesso problema
Determinare il percorso da codice è un pò complicato.
In effetti NON si deve impostarlo da una variabile ma detterminarlo
accedendo alle variabili di ambiente.
ad esempio su Windows XP (e presumo anche Win2000) la variabile
%allusersprofile% restituisce il percorso
  C:\Documents and Settings\All Users\
ma a noi serve
  C:\Documents and Settings\All Users\Dati Applicazioni con Win italiano
  C:\Documents and Settings\All Users\Application Data con Win in Inglese
La variabile d'ambiente %appdata% restituisce invece la cartella
C:\Documents and Settings\USER\Dati Applicazioni con Win in Italiano
C:\Documents and Settings\USER\Application Data con Win in Inglese
Quindi, se ho winXP/2K prendo entrambi i valori e da AppData tengo solo 
la parte finale (in Italiano "Dati Applicazioni") e l'aggiungo a 
allusersprofile.
Su Vista uso direttamente allusersprofile
Si Win98/Me credo si possa usare senza problemi la cartella Programmi
Se non ricordo male però esiste una cartella per i profili utente in 
Win98 e Me ma si trova dentro C:\Windows\Application Data (o qualcosa 
del genere).
Dovrebbe essere tutto corretto, ma se ho fatto qualche errore fatemelo 
sapere, specie per quel che riguarda i S.O. in inglese, che non ho 
potuto verificare.
