Problerma con VB nel creare un .exe

lunedì 05 giugno 2006 - 19.10

Jorghe55 Profilo | Newbie

Salute a tutti,
sto facendo un programma in VB6,che prevede l'utilizzo come Database di un Db fatto in Access.
Il problema è che questo programma andrà in un computer provvisto di Access ma sprovvisto di VisualStudio.
Ho provato a far girare il programma in un pc sprovvisto di visualstudio,e mi solleva prima questi errori( di esecuzione):
non trova il file MSADODC.OCX ed il file MSDATGRD.OCX ( che ad occhio penso servano per interagire con gli oggetti Adodc e Datagrid).
Ho provato a copiare i file,ed in effetti il programma parte,ma non riesce ad interagire col DB...

Ora,la mia domanda è: è possibile( credo e spero proprio di si..) creare un file .exe da utilizzare in un pc sprovvisto di visual basic o è obbligatorio averlo installato??
Sperando ke sia possibile,qualche anima pia mi può spiegare come devo fare??
Vi ringrazio...



Jorghe55

revontulet Profilo | Junior Member

>Ho provato a far girare il programma in un pc sprovvisto di visualstudio,e
>mi solleva prima questi errori( di esecuzione):
>non trova il file MSADODC.OCX ed il file MSDATGRD.OCX ( che ad
>occhio penso servano per interagire con gli oggetti Adodc e Datagrid).
>Ho provato a copiare i file,ed in effetti il programma parte,ma
>non riesce ad interagire col DB...
>
>Ora,la mia domanda è: è possibile( credo e spero proprio di si..)
>creare un file .exe da utilizzare in un pc sprovvisto di visual
>basic o è obbligatorio averlo installato??
>Sperando ke sia possibile,qualche anima pia mi può spiegare come
>devo fare??

Usa help in linea e segui istruzioni per la creazione di un pacchetto di installazione

Jorghe55 Profilo | Newbie

Per help in linea nn intendi le MSDN,xchè nn le ho installate..
Cmq domani provo,grazie..

angelotv Profilo | Guru

Devi installare MSDN per avere l'help in linea.
by Angelo

FELIX NET Profilo | Newbie

Ciao....

risposta alla prima domanda:

I file che non ti funzionano sono dei componenti ActiveX necessari all' esecuzione dell'applicativo; quindi e' necessario che al momento della creazione del pacchetto di installazione, quest'ultimi vengano inseriti nel pacchetto stesso come file di dipendenza; cosi come altri file come ad esempio file .ini,.dll ecc.

Solitamente vengono installati nella directory C:\winnt\system32; Per fare tutto cio' pero' ti sconsiglio l'utility di VB6 (Creazione guidata pacchetti di installazione)...genera spesso risultati inaspettati; prova invece con applicativi di altri produttori (Cyber Installer)

risposta alla seconda domanda:

E' gia' compresa nella prima....difatti creando in maniera "robusta" il pacchetto di installazione assolutamente non e' necessario VB6 sul pc che utilizzera' l'applicativo. (Comunque e' buona norma che l'applicativo prima di essere consegnato al cliente venga testato su vari sistemi....ma sopprattutto su sistemi "puliti").

Jorghe55 Profilo | Newbie

Allora..
Ho installato CyberInstaller Suite 2005,per vedere un pò se risolvevo...
Ed ho scoperto che il problema non è tanto nella lettura degli OCX da parte del programma,quanto nel popolamento dell'oggetto Datagrid.
Mi spiego meglio..
All'apertura di un form il datagrid appare assolutamente vuoto(anche se riesce comunque a recuperare i nomi dei campi del database che dovrebbe leggere..)
Se seleziono la riga vuota me ne seleziona una a caso( l'ho notato scrivedno il valore dei campi su degli oggetti label e text).
Inoltre l'oggetto Adodc funziona alla perfezione,permettendo scritture e letture dal database...
Avete una qualche idea su come dovrei fare??


edit:
I file OCX sono inseriti nel pc destinazione...

FELIX NET Profilo | Newbie

Scusa ma non mi e' chiaro...

I problemi di cui parli, sembrano distinti; infatti se la tua applicazione (compilata) ti restituisce un errore di run-time legato alla mancanza di qualche componente ocx...significa che non e' stato inserito correttamente nell'istaller.

Mentre se il problema e' legato al funzionamento del componente evidentemente c'e' qualche errore concettuale nella stesura del codice.

1)Controlla se la stringa di connessione passata al componente ado punta correttamente al DB. (Tieni presente
che il puntamento si intende corretto se il file esecutivo punta al DB e non il file di progetto)

2) Il datagrid sia correttamente associato al controllo ado.

fammi sapere

Jorghe55 Profilo | Newbie

In effetti mi sono spiegato male io..
In origine mi dava il problema di run-time relativo ai file OCX,problema che ho risolto inserendo nell'installer le impostazioni per copiarli al momento dell'installazione.
Ora il programma parte e fa tutti gli inserimenti possibili,ma ha problemi a visualizzare e popolare un datagrid.
Mi spiego.
Il datagrid recupera i campi dalla tabella del database collegata all'adodc(collegato a sua volta al datagrid) ma non lo popola,lo lascia completamente vuoto anche se nel database tale tabella contiene record.
Se provo a selezionare una riga (la riga vuota di default che il datagrid mette appena inizializzato) mi copia in delle label create apposta i dati del primo record presente nella tabella.
Vorrei sapere se qualcuno sa come spiegargli che il datagrid deve essere popolato.

P.S. Ovviamente questo problema lo fa solamente nel pc sprovvisto di VB,nel pc dove creo il programma funziona alla perfezione..

FELIX NET Profilo | Newbie

Torniamo quindi all'inizio....

Il problema e' nel pacchetto di installazione...

Allora...

i componenti ocx che ti servono sono:

1) microsoft ado data control 6.0 (oledb)

il controllo risiede in c:\winnt(windows\system32\msadodc.ocx

quindi nel pacchetto prevederai che al momento dell'istallazione il file verra' copiato in |SystemPath|

2) microsoft datagrid control 6.0 (oledb)

il controllo risiede in c:\winnt(windows\system32\msdatgrd.ocx

e ugualmente verra' copiato in |SystemPath|

3) Tanto per essere sicuri....

(Mi hai detto che utilizzi Cyber Installer.....grande Pappalardo)

Prevedi tra le applicazioni da installare precedentemente alla tua applicazione....i componenti MDAC piu' aggiornati...mi sembra i
2.8.


Se tutto e' in questi termini...DOVREBBE...funzionare

Jorghe55 Profilo | Newbie

Piccola grande ignoranza mia..
Cosa sono i i componenti MDAC,son già compresi in VB6.0?se la risp è no,mi puoi dire dove li trovo??
Grazie ancora...

FELIX NET Profilo | Newbie

MDAC- Microsoft Data Access Components
Sono elementi aggiuntivi del sistema operativo utili per l'accesso ai dati.

Confermo l'ultima versione a 2.8.....li puoi scaricare dal sito della Microsoft o volendo se hai software tipo E-Mule anche da li...

Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5