|
|
Up |
|
|
  |
Author: BCBC Date: Jul 8, 2008 05:54
Riesco ad usarlo, ma non capisco come farlo in modo proficuo.
Cioè:
Per centralizzare le info di connessione DB ho provato ad utilizzare un
datamodule
ma non capisco bene come implementarlo.
per esempio:
1) metto un TIBDatabase,TIBTransaction,e un TIBDatasetAUTORI
2)sviluppo una form cerca autori con una grid collegata alla variabile
IBDS_AUTORI derivata dalla classe TIBDatasetAUTORI
3)faccio in maniera che la mai form possa lanciare N istanze separate della
Form
L'effetto che ottengo e che le grid nei vari componenti sono sincronizzate,
ed è anche "OVIO"
visto che in realtà utilizzano proprio la variabile "IBDS_AUTORI" e non una
variabile autonoma creata dalla classe TIBDatasetAUTORI .
Ne deduco che se voglio le griglie indipendenti su due istanze della stessa
finestra devo spostare
il dataset (e immagino anche la transazione) dentro alla form.
Ma allora a cosa serve il DATAMODULE?
|
| Show full article (1.03Kb) |
|
| | 21 Comments |
|
  |
Author: Andrea LaforgiaAndrea Laforgia Date: Jul 8, 2008 06:36
BC ha scritto:
> Ne deduco che se voglio le griglie indipendenti su due istanze della stessa
> finestra devo spostare
> il dataset (e immagino anche la transazione) dentro alla form.
Form + relativo datamodule, da creare alla creazione della form e da
legare al datamodule contenente SOLO la connection.
|
| |
|
| | no comments |
|
  |
Author: camperoscamperos Date: Jul 8, 2008 07:21
"BC" ha scritto nel messaggio
news:usJck.112388$FR.369920@twister1.libero.it...
> Riesco ad usarlo, ma non capisco come farlo in modo proficuo.
>
cut
> Ma allora a cosa serve il DATAMODULE?
>
Il DataModule serve per cenrtralizzare delle operazioni da fare SEMPRE sui
dati
Basta guardare la parte eventi e scoprire quante cose utili ci sono
dietro...
C.
|
| |
| no comments |
|
  |
Author: Marco BreveglieriMarco Breveglieri Date: Jul 8, 2008 08:44
BC ha scritto:
> Ma allora a cosa serve il DATAMODULE?
In alcuni casi, il "sincronismo" è anche accettato e volutamente
ricercato: dipende dall'architettura che implementi.
Ad ogni modo, in relazione all'accesso ai dati, puoi sempre disporre
solo il componente per la connessione sul DataModule, e lasciare i
DataSet sul Form specifico.
Il DataModule, poi, può contenere qualsiasi tipo di componente (es.
ImageList) che può essere così condiviso in tutta l'applicazione, non
solo quindi componenti per l'accesso ai dati.
Ciao,
Marco.
|
| |
| no comments |
|
  |
Author: Andrea LaforgiaAndrea Laforgia Date: Jul 8, 2008 13:25
On Tue, 08 Jul 2008 17:44:37 +0200, Marco Breveglieri
gmail.com> wrote:
>solo il componente per la connessione sul DataModule, e lasciare i
>DataSet sul Form specifico.
Nahhh. Discordo. I dataset sono componenti di accesso ai dati,
back-end controller, quindi stiano il più possibile sul controller,
non invadano la presentazione.
>Il DataModule, poi, può contenere qualsiasi tipo di componente (es.
>ImageList)
Nahhh. Discordo anche su questo. Se le ImageList sono destinate a
contenere liste di immagini da usare su particolari form, è bene che
stiano su quelle form (model con model, view con view, controller con
controller). Se vanno condivise tra più form, vuol dire che c'è un
legame logico tra quelle form, quindi si usi la VFI.
Gli IDE come Delphi tendono purtroppo a mischiare i concetti preziosi
del modello MVC. Nulla vieta, d'altronde, di avere una form con il suo
bel, personalissimo datamodule.
|
| |
| no comments |
|
  |
Author: Marco BreveglieriMarco Breveglieri Date: Jul 8, 2008 14:40
Andrea Laforgia ha scritto:
> Nahhh. Discordo. I dataset sono componenti di accesso ai dati,
> back-end controller, quindi stiano il più possibile sul controller,
> non invadano la presentazione.
Dipende dall'architettura dell'applicazione, da come è organizzata.
In certi casi, non utilizzo senz'altro un DataModule per contenere
componenti che possono stare tranquillamente sul Form solo per poter
dire che - essendo sul DataModule - l'accesso ai dati è completamente
separato dall'interfaccia.
Non sono senz'altro in disaccordo con l'affermazione che la separazione
tra dati e presentazione sia malvagia, ci mancherebbe altro, ma non
disdegno nemmeno un compromesso che renda comunque le cose semplici da
sviluppare e manutenere.
> Nahhh. Discordo anche su questo. Se le ImageList sono destinate a
> contenere liste di immagini da usare su particolari form, è bene che
> stiano su quelle form (model con model, view con view, controller con
> controller). Se vanno condivise tra più form, vuol dire che c'è un
> legame logico tra quelle form, quindi si usi la VFI.
|
| Show full article (1.95Kb) |
| no comments |
|
  |
Author: Andrea LaforgiaAndrea Laforgia Date: Jul 8, 2008 15:18
On Tue, 08 Jul 2008 23:40:06 +0200, Marco Breveglieri
gmail.com> wrote:
>Dipende dall'architettura dell'applicazione, da come è organizzata.
Secondo me no. La scelta di dividere è sempre valida.
>In certi casi, non utilizzo senz'altro un DataModule per contenere
>componenti che possono stare tranquillamente sul Form solo per poter
>dire che - essendo sul DataModule - l'accesso ai dati è completamente
>separato dall'interfaccia.
L'accesso ai dati *DEVE* essere completamente separato
dall'interfaccia. Il mio parere è che non bisogna mai usare i
componenti di acesso ai dati direttamente sulle form. E seguendo
questa strada mi sono sempre trovato ottimamente. In caso contrario,
Se l'applicazione scala anche solo un pochetto sei costretto comunque
a riorganizzare le cose.
>Non sono senz'altro in disaccordo con l'affermazione che la separazione
>tra dati e presentazione sia malvagia, ci mancherebbe altro, ma non
>disdegno nemmeno un compromesso che renda comunque le cose semplici da
>sviluppare e manutenere.
|
| Show full article (2.35Kb) |
| no comments |
|
  |
Author: BCBC Date: Jul 9, 2008 01:41
Prima di tutto faccio pubblica ammenda.
Stavo lavorando su un computer ospite e non sono abituato ad outlock.
Per errore ho risposto in privato e non sul NG
Riposto anche sul NG le risposte che avevo dato in sequenza
Camperos
Laforgia
Breveglieri
Anche se adesso non sono piu sicuro di condividere quello che ho scritto.
|
| |
| no comments |
|
  |
Author: BCBC Date: Jul 9, 2008 01:55
> Il DataModule serve per cenrtralizzare delle operazioni da fare SEMPRE sui
> dati
> Basta guardare la parte eventi e scoprire quante cose utili ci sono
> dietro...
eventi del datamodule?
Solo:
oncreate
ondestroy
Continuo a non capire!
Per ora ho lasciato nel datamodule solo la connessione al DB
il Dataset e la transaction l'ho messa sulla form.
L'applicazione è veramente banale, prevede 2 Form che lavorano sul DB (più
forse 2 per le ricerce) e la uso per imparare. Almeno se decido di cambiare
radicalmente tutto con solo 2 form si fa abbastanza presto:-).
Sto scrivendo l'applicazione e vedendo il codice che mi tocca duplicare con
copia incolla (appunto quello che dovrebbe venire centralizzatto in un unico
punto)
|
| Show full article (1.39Kb) |
| no comments |
|
  |
|
|
  |
Author: BCBC Date: Jul 9, 2008 03:06
>"Andrea Laforgia" ha scritto nel messaggio news:g4vqh8$5d5>
> Form + relativo datamodule, da creare alla creazione della form e da
> legare al datamodule contenente SOLO la connection.
Scusa, non riesco a capire. Se ogni form che si interfaccia col DB deve
avere il suo datamodule
non ne vedo lo scopo. metto 2 componenti in più sulla form e sono a posto.
anzi, creo una classe form che contiene quei 2 componenti e derivo la mia
form da quella.
Non sono riuscito a trovare degli esempi che mi chiarissero l'utilizzo.
Nella risposta che ho dato a camperos si vede che ho quasi rinunciato hai
datamodule.
Questo perchè al momento non ho capito come si utilizzano, ma visto che
l'applicazione è piccola, adattissima per imparare, se riesco a capire come
fa faccio presto a riconvertirla all'uso del datamodule.
PS!!! PROPRIO NON MI TROVO CON OUTLOCK PER ERRORE HO NUOVAMENTE ROTTO LE
SCATOLE IN PRIVATO AD ANDREA ANZICHE POSTARE SUL NG. MI SCUSO CON LUI
|
| |
| no comments |
|
|
|
|