Newsgroup: it.comp.lang.visual-basic
Titolo: Errore di run-time 430 la classe non supporta l' automazione o l' interfaccia prevista

Salve a tutti, ho un problema che non riesco a risolvere:
creando il pacchetto installazione Vb6 e poi installando il
programma su Pc con W 95 mi da l' errore seguente:
Errore di run-time 430 " la classe non supporta l' automazione o l'
interfaccia prevista"
All' interno del programma vi sono vari collegamenti del tipo
CnnLog.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " &
App.Path & "...."
ho costruito il pacchetto di installazione sia con MDAC_TYP V.2.0 sia con
MDAC_TYP V. 2.1
ho provato anche a sostituire il connectionString con il provider OLEDB 3.51
ma sempre stesso errore
La compilazione l' ho eseguita con il Service Pack 5.
Dove sbaglio ??
 
in...@sisteck.com

 ha scritto nel messaggio
news:9d6gpr$lnq$1...@fe2.cs.interbusiness.it...


Sarebbe interessante conoscere almeno che cosa fa il programma quando genera quell' errore
e se tale errore si verifica solo con l' eseguibile o anche nell'' ambiente di sviluppo.
Potrebbe essere utile sapere se vengono utilizzati componenti di terze parti.
Forse ci sono oggetti istanziati con CreateObject o GetObject, oppure
si cerca di eseguire un ciclo For .. Each su un oggetto che non lo supporta,
oppure ancora si ceerca di usare metodi o accedere a proprieta' accessibili, 
p.es
.
solo internamente ad Excel o Access oppure tali metodi/proprieta' sono presenti
solo a partire da una certa versione in poi ...
Considerate che voi avete a disposizione il codice sorgente per debuggare il programma,
mentre noi abbiamo solo le vostre parole e la nostra fantasia.
ciao, hal

 ha scritto nel messaggio
news:9d7i6u$gslgb$1...@ID-56381.news.dfncis.de...


 CLSID della DLL. Come mamma M$ insegna ho provveduto a ricompilare il
Ok, ri-registra la dll.
ciao
ugo

 > metodi e alcuni esistenti hanno cambiato i parametri, ergo è cambiato il


 ha scritto nel messaggio
news:9d7i6u$gslgb$1...@ID-56381.news.dfncis.de...


capisco più nulla...(ma ci ho mai capito nulla ?) ...
Ho il sospetto che sia rimasto "sporco" il registry del cliente.
Poiche' la CreateObject cerca il CLSID in base al ProgID che riceve come parametro,
ottiene in questo caso il primo che trova, che, sfiga vuole, corrisponde alla dll vecchia.
Potresti provare a far girare un programmino di m$, il RegClean. Se sei fortunato,
dovrebbe rimetterti le cose a posto.
Altrimenti, prova a cercare, a mano e con cautela, le occorrenze del ProgID nel
registry del cliente ed eliminare le chiavi che puntano al CLSID sbagliato.
hth,
hal

il SP 5.
purtroppo le informazioni sono poche per azzardare una risposta;
prova a mettere sotto trace il programma, magari facendogli scrivere
in un file di log nei punti che sospetti possano essere considerati "caldi".
magari modifica la gestione degli errori tenendo conto anche di alcune cose che
ci eravamo detti con Roberto Piazzolla, Zanna e, chiedo scusa, non ricordo piu' chi
in una discussione del mese scorso proprio sulla gestione errori.
ciao, hal

 ha scritto nel messaggio
news:9da0iu$h7p0m$1...@ID-56381.news.dfncis.de...


 ma forse chissà...
Sì, in effetti è capitato anche a me con diverse dll Activex, ma si è sempre
risolto ri-registrando o, al massimo, reinstallando.
ciao
ugo