Datamodule come si usa, mi sfugge qualcosa?
  Home FAQ Contact Sign in
it.comp.lang.delphi only
 
Advanced search
POPULAR GROUPS

more...

it.comp.lang.delphi Profile…
 Up
Datamodule come si usa, mi sfugge qualcosa?         


Author: BC
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
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: Andrea 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.

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it
no comments
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: camperos
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
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: Marco 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.

--
MARCO BREVEGLIERI
(http://www.marco.breveglieri.name)
no comments
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: Andrea 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
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: Marco 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
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: Andrea 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
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: BC
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
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: BC
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
Re: Datamodule come si usa, mi sfugge qualcosa?         


Author: BC
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
1 2 3