scusate, mi sono spiegato male:
volevo dire che non vorrei che Matteo si dichiari la variabile
datafile come globale da qualche parte, ma poi torni a dichiararla
nell'evento open() della finestra.
cosi avremo due variabili con lo stesso nome, ma con due ambiti
diversi. quella dichiarata in open() e' correttamante inizializzata,
ma si esaurisce alla fine dell'evento open().
la globale continua a rimanere visibile al codice, ma non e'
correttamnente inizializzata e' da come risultato NilObjectException
spero sia piu' chiaro
Giulio
Il giorno 23/mag/06, alle ore 14:05, Giulio ha scritto:
Ciao.
Il giorno 23/mag/06, alle ore 13:20, Matteo Lovatti ha scritto:
Ciao, graize a tutti per l'aiuto
Non riesco a usare il MsgBox con l'errore del db in quanto il prog
va in NilObjectException solo aprendo la finestra !
Vorrei veramente capire, se il codice da usare è questo :
(messo on Open() in App)
Dim dbFile as New FolderItem
Dim datafile As REALSQLDatabase
ma non e' che il problema sta nella variabile datafile?
voglio dire, se dichiari la variabile nella funzione open, sara'
visibile soltanto all'interno della funzione open.
dovresti invece dichiarare la variabile datafile come globale come
proprieta' di un modulo o di App stessa, e poi nella open
semplicemente inizializzarla con new
se dichiari la variabile col Dim dentro open() e poi cerchi di
usarla in altre funzioni del programma sicuramente hai
NilObjectException
spero serva,
Giulio
datafile= New REALSQLdatabase
dbFile = GetFolderItem("datafile.rsd")
datafile.DatabaseFile=dbFile
If datafile.Connect() then
MsgBox "Tutto ok"
else
MsgBox "Errore critico: Impossibile trovare il file del database"
end if
perchè all'avvio mi dice tutto ok e dopo non riesce a trovare il
file del database.
Ho sempre il mio db anche nella finestra Progetto se no non me lo
compila.
Grazie
On 23/mag/06, at 09:21, Marco Bambini wrote:
Dovresti far visualizzare l'errore:
MsgBox db.ErrorMessage
almeno cosi si può capire meglio cosa non piace a sqlite.
---
Marco Bambini
http://www.sqlabs.net
http://www.sqlabs.net/blog/
On May 22, 2006, at 7:03 PM, Matteo Lovatti wrote:
Vi aggiorno la situazione !!!!
ho tolto tutto il codice relativo all'apertura del database.
Ho semplicemente trascinato il file database nella tab project
del REALbasic
In debug tutto funziona
compilo sposto sul MIO desktop provo..... FUNZIONA !!!
copio il compilato sul Mac di mia mamma, provo.... NON VA !!
dal mio computer faccio partire il programma in rete dal
computer di mia mamma .... FUNZIONA !
a sto punto non capisco più un tubo.. perchè sul comp di mia
madre non va ? potete aiutarmi ??
Matteo.
On 22/mag/06, at 18:44, Matteo Lovatti wrote:
Ciao, si il database esiste purtroppo !! ed è nella stessa
cartella dell'eseguibile. da debug tutto funziona benissimo
non so più che fare...
Matteo
On 22/mag/06, at 18:34, Marco Bambini wrote:
On May 22, 2006, at 6:33 PM, Matteo Lovatti wrote:
Ciao, a tutti sono l'ultimo arrivato e arrivo pure con un
problema !
Non capisco perchè il mio programma veda correttamente il
database durante il debug, ma se lo compilo e copio il file
eseguibile e il file del database su un altra macchina non va
più nulla !
Ho provato le seguenti soluzioni...
la prima più semplice "aprendo" il mio database
dall'interfaccia di programmazione con Aggingi->seleziona
REALmysql .....
compilato non va.
la seconda, nella funzione Open() di App() ho inserito il codice
Dim dbFile as New FolderItem
dbFile = GetFolderItem("datafile.rsd")
A questo punto il database esiste?
Ed è nella stessa cartella dell'eseguibile?
---
Marco Bambini
http://www.sqlabs.net
http://www.sqlabs.net/blog/
datafile.DatabaseFile=dbFile
If datafile.Connect() then
else
MsgBox "Errore critico: Impossibile trovare il file del
database"
end if
e la proprietà datafile As REALSQLdatabase (sempre in App) e
mi collego dalle altre finestre chiamando
App.datafile.SQLExecute o altro
compilato non va.
Potreste darmi una mano ? Sono con la vers. 2006R1 su Mac Os X
Grazie
Matteo.
|