Newsgroup: it.comp.lang.delphi
Titolo: client data set e salvataggio su file

salve a tutti,
sto utilizzando da poco i client data set e per quanto mi sia 
documentato su D2006 di Marco Cantu' mi resta un dubbio, avvalorato da 
stranezze per me incomprensibili:
nel mio programmino ho creato un data set, ho valorizzato i campi e i 
record, ho assegnato a run time la proprieta' file name al dataset;
Delphi a quanto pare lo salva automaticamente nel file da me indicato;
siccome i dati non mi quadravano ho provato a cancellare il file
e il pogramma aprendosi li mostra comunque nella dbGrid;
ma allora mi chiedo: dove diavolo sono memorizzati i dati? sicuramente 
non nel file indicato da me dato che l'ho cancellato prima di lanciare 
il programma!
chiedo lumi dato che brancolo nel buio, oppure indicazioni su dove
studiare per bene i client data set
grazie
Luca

Il client data set è un particolare tipo di dataset mentre tQuery tTable e
tStoredProcedure discendono tutti dalla classe tDataset del Client Data Set
non si conoscono i sorgenti.
A quanto ho capito serve in quelle situazioni fortemente orienatate client
server ossia non solo 1 server e 2 client (potresti usare anche Paradox) ma
dove si deve avere un tampone di memoria dove salvare i dati che possono
essere persi ad esempio per caduta di un socket.
Quando esegui un post lui salva comunque su qualcosa per cui fa il suo
dovere se ti restituisce i dati salvati.
Hai provato caricado un file vuoto con LoadFromFile ('c:\miofile.txt') In
questo caso non ti dovrebbe far vedere nulla.
Inoltre oltre a ciò che hai detto può accader l'opposto ossia tu esegui il
post e poi perdi i dati per cui io mi regolo in questo modo eseguo il post
per salvarmi in locale i dati che ho inserito (ossia scrivo su word ed
eseguo un carriage return)
Poi per salvarli effettivamente sul server che può essere anche sulla stessa
macchina dove è il client ossia il client datat set metto un bottone per
fare Save To File ('c:\miofile.txt').
Sperando di essere stato di aiuto.
Ciao
Mario
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

essere persi ad esempio per caduta di un socket.
E' solo uno degli utilizzi.  In realtà, il CDS viene usato normalmente
per applicazioni client/server classiche.

 ci sono.
Ah si ?
Ricodo di aver letto un post che diceva che la Borland non li aveva
rilasciati.
Dove si trovano? su delphi7 D2005 o D2006 ?
Grazie fin da ora.
Ciao
Mario - (
mari...@inwind.it
)


 
"Credo" che Mario si riferiva ai sorgenti della MIDAS.DLL che, se non 
erro, è il 'Core' del ClientDataSet, in quanto la prima cosa che fa il 
CDS è: "CheckDbClient" che si va a leggere la sua bella dll (MIDAS.DLL).
o sbaglio ???? ... in tal caso scusate :((
Saluti Goblin
-- 
Ibis et redibis non morietur in bellum.

 rilasciati.
Ricordi male.  I sorgenti del CDS ci sono sempre stati, quello che Borland
non ha pubblicato è il protocollo di comunicazione tra client e server.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
ciao,
ho ricevuto questa esauriente risposta da Marco Breviglieri su d&d,
che riporto a chi interessasse. Grazie comunque!
I dati vengono memorizzati nella proprietà /Data/: devi fare attenzione 
a porre la proprietà /Active/ del *TClientDataSet* a False per evitare 
che i dati e la struttura del DataSet vengano memorizzati in quella 
proprietà e, quindi, nel file DFM, a meno che ciò non ti risulti comodo 
per questioni di semplice test (ma aumenta le dimensioni dell'eseguibile 
poiché i dati vengono inclusi come risorsa).
In breve, o chiudi il DataSet, o fai in modo che all'apertura il tuo 
programma effettui una /Close/ prima di una /Open/, in modo da rimuovere 
i dati preesistenti.