Newsgroup: it.comp.lang.delphi
Titolo: Strano errore

Perche' a Design time, cercando di rendere attiva una TQuery, ricevo il seg 
msg:
"Permission denied. File or directory does not exist.
File C:!Windows\system32\_QSQL000.DBF
Table does not exist.
 
A runtime � ok. Ho assegnato alla TQuery un databasename e una select alla 
property SQL. Devo assegnare un campo della query ad un campo di un report 
QuickReport e non riesco a farlo con l'object inspector a causa di questo 
errore con cui sto lottando da pi� di un'ora.
Ho una TTable che dava lo stesso errore, ma assegnandogli il databasename 
tramite l'object inspector l'errore � sparito. Ma con la TQuery non ha 
funzionato!!
Qualcuno � in grado di aiutarmi ? 
 

Nessuno riuscierbbe a scrivere in un path come questo:
 
C:!Windows\system32\_QSQL000.DBF
^^^^^
 
E' un errore di trascrizione?
A parte cio, se la query è legata a qualche oggetto di QR, scoleggala e vedi se la cosa capita ancora.
 
A.

 Qualcuno č in grado di aiutarmi ?
Se non erro si puo' provare a design time cio' che succede, basta 
qualche piccola modifica, giorgio

 ha scritto nel messaggio 
news:74f68399-dae9-4320...@googlegroups.com...
Nessuno riuscierbbe a scrivere in un path come questo:
 
C:!Windows\system32\_QSQL000.DBF
^^^^^
 
E' un errore di trascrizione?
A parte cio, se la query � legata a qualche oggetto di QR, scoleggala e vedi 
se la cosa capita ancora.
 
A.
 
Capita ancora. Ho provato a creare un progetto nuovo, con una form, una 
TQuery e una TTable. Poi ho cercato di impostare la property Active a True 
in entrambi i componenti e il messaggio viene fuori solo per la TQuery, 
naturalmente sempre a DesignTime. 
 

 funzionato!!
 
Bisognerebbe avere il dettaglio completo della configurazione, cosa difficile senza accedere al PC o vedere il progetto.
 
Come primo passo, io sposterei la tabella in un altro percorso che abbia diritti di scrittura e sia preposto a contenere file di dati delle applicazioni, e "System32" difficilmente lo è.
 
Ciao,
  Marco.
 

 Table does not exist.
 
Devi andare nelle configurazioni del BDEADMIN e modificare la
configurazione di default del driver modificando la cartella in
cui scrive (NET DIR).
 
Questo perche' il BDE gestisce le query creando in realta'
delle tabelle temporanee.
 
Probabilmente a runtime l'errore non tie sce perche hai
specificato un ALIAS che scrive nella cartella corretta,
ma a design time usa sempre la cartella indicata nel
default del driver.
 
ciao
Giacomo
 
PS. 
Se non ricordo male, devi modificare comunque NETDIR
del driver PARADOX, anche se stai lavorando con file DBF,
perche le sue tabelle temporanee il BDE se le gestisce
comunque come tabelle paradox.
 
 

 funzionato!!
 
Bisognerebbe avere il dettaglio completo della configurazione, cosa 
difficile senza accedere al PC o vedere il progetto.
 
Come primo passo, io sposterei la tabella in un altro percorso che abbia 
diritti di scrittura e sia preposto a contenere file di dati delle 
applicazioni, e "System32" difficilmente lo �.
 
Ciao,
  Marco.
 
Nell'object Inspector il databasename specifica una cartella nel drive D:, 
quindi non ho idea della ragione per cui il messaggio indichi quello strano 
percorso..  E poi perch� la TTable per la quale � specificato lo stesso 
percorso va bene ?
La modifica al NetDir � stata fatta a suo tempo, altrimenti avrei dei 
problemi in esecuzione, che invece non ho. E' solo a Designtime questa 
stranezza ..
 

 stranezza ..
 
Non so se hai letto anche il mio messaggio: direi che il problema sta
nel fatto che la netdir che usi a runtime NON e' la stessa che usi a
design time. In particolare per le TQuery a design time usa quella 
di default del driver paradox per costruirsi le sue tabelle temporanee
e NON quello del database dove si trovano le tabelle.
 
ciao
Giacomo

 stranezza ..
 
Non so se hai letto anche il mio messaggio: direi che il problema sta
nel fatto che la netdir che usi a runtime NON e' la stessa che usi a
design time. In particolare per le TQuery a design time usa quella
di default del driver paradox per costruirsi le sue tabelle temporanee
e NON quello del database dove si trovano le tabelle.
 
ciao
Giacomo
 
Avevo letto il tuo messaggio e perci� avevo fatto una verifica e constatato 
che il NetDir � indirizzato sul drive D. Ma questo che mi dici adesso � 
molto interessante, anche se non so come controllare questa cosa. Se lancio 
bdeadmin.exe, vedo il file di configurazione corretto. C'� un modo di 
verificare quale � la NetDir indirizzata a DesignTime ? 
 

 verificare quale è la NetDir indirizzata a DesignTime ?
 
Purtroppo il BDE e' roba un po' vecchiotta, potrei ricordare male, 
ma il modo e' quello: bdeadmin->Configuration->native->paradox->net dir.
 
Sei sicuro che la catella su D esista e hai i diritti corretti? 
Forse se non puo' accedere alla net dir usa sys32 (su cui imho e'
sacrosanto che tu non possa scrivere un file temporaneo qualsiasi...)
 
ciao
Giacomo