Newsgroup: it.comp.lang.delphi
Titolo: Un consiglio

Questa è l'idea:
in un form, la scelta da un menu fa apparire (in un pannello a destra) una 
frame il cui unico contenuto visuale è un DBGrid e tre bottoni. Il DBGrid è 
popolato dal risultato di una query, che è diversa a seconda del bottone 
cliccato. Mi chiedo come è meglio realizzare il tutto.  C'è da decidere dove 
mettere la TQuery, dove lanciare le varie query di estrazione, etc. Sto 
facendo una prova dove il form crea la frame e lancia una proc che fa la 
estrazione nella TQuery posseduta dalla frame il cui DBGrid mostra i 
risultati. Poi però non so come realizzare le altre query che potrebbero 
essere richieste tramite i bottoni presenti nella frame, perchè non so come 
il form può accorgersi che è stato cliccato quel bottone. Insomma, la 
domanda è come strutturare questa cosa, volendo proprio utilizzare una frame 
da poter riutilizzare in altri contesti dell'applicazione. 
 
 
---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus.
http://www.avast.com
 
 

Stark, mi scrivi in privato, per favore?
 
zzzato|chiocciola|gmail dot Com
 
 
A.

 da poter riutilizzare in altri contesti dell'applicazione. 
 
Il codice che gestisce gli eventi dei controlli che si trovano sul Frame dovrebbero risiedere all'interno del Frame stesso, in modo che il suo riutilizzo sia completo.
 
Una implementazione di questo tipo l'ho realizzata per un software dove ho creato un Frame di base in cui posizionare griglia, comandi di navigazione e manipolazione del DataSet, componente per l'accesso ai dati, ordinamento delle colonne sulla griglia, ecc. ma senza fare riferimento a una tabella dati specifica; creando dei discendenti tramite la Visual Form Inheritance (VFI), in questi andavo a definire l'origine dati effettiva da cui prelevare i dati da visualizzare e modificare.
 
Il Frame si poteva poi istanziare all'interno di un Form modale, ad esempio per portare un elenco di record specifici in un determinato contesto, oppure in una pagina dell'applicazione per l'editing diretto, oppure ancora in una dialog per la selezione di un elemento tra quelli mostrati, usando sempre e solo lo stesso Frame e le funzionalità introdotte a livello di base, sufficientemente generiche e valide a prescindere dall'origine dei dati finale.
 
Questo consente di forzare anche l'uniformità dell'interfaccia grafica all'interno dell'applicazione, con vantaggi nell'usabilità da parte dell'utenza, la centralizzazione di eventuali bug da risolvere e una semplificazione dello sviluppo da parte di chi estende il sorgente, poiché - anche senza conoscenze specifiche di Delphi, della OOP, della VFI, può comunque ereditare con pochi clic ed estendere il Frame di base per farlo lavorare su un'origine dati specifica.
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 

 
 
"Marco Breveglieri"  ha scritto nel messaggio 
news:714631a4-b4ba-4454...@googlegroups.com...

Quindi avrebbe senso usare la frame. Mi pare di capire la tua struttura, ma 
non saprei come realizzarla. In pratica la frame dovrebbe nel mio caso 
contenere una TQuery, un TDatasource legata alla TQuery e una DBGrid 
connessa al Datasource. Un'altra frame discendente definirebbe l'origine 
dati effettiva, cioè conterrebbe il codice per l'estrazione dei dati ? O non 
ho capito niente ? Non c'è qualche esempio da cui si possa capire ? 


 Non c'è qualche esempio da cui si possa capire ? 
 
Non ho purtroppo un esempio da mostrare, perché si tratta di codice che fa parte di un nostro progetto esistente; va detto anche che con LiveBindings alcune cose adesso potrebbero realizzarsi in modo diverso.
 
Siccome sto preparando il materiale per la conferenza di Verona, se riesco a produrre qualcosa di utile e calzante, poi vedo come condividerlo.
 
Ciao!
