Newsgroup: it.comp.lang.delphi
Titolo: Componenti VISUALI

Salve a tutti, avrei bisogno di creare un componente visuale un po
complicato, contenete altri componenti. Qualcuno può darmi un suggerimento
per sapere come cominciare? In pratica, il mio (futuro!) componente
dovrebbe accedere ad un db e caricare in una griglia una tabella, dopo di
che passare il record selezionato in una stringa di testo.
Avete idea di come fare?
In tutte le prove che ho fatto ottengo sempre un oggetto non visuale.
Grazie in anticipo.
--- posted by geoForum on 
http://www.delphiedintorni.it

 In tutte le prove che ho fatto ottengo sempre un oggetto non visuale.
posta un po di codice.
AS

 In tutte le prove che ho fatto ottengo sempre un oggetto non visuale.
Probabilmente perché hai ereditato il tuo componente da una classe non
visuale.
A parte questo, se il componente deve fare solo quello, non ho capito perché
invece di crearti un componente non usi direttamente una DBGrid o una cosa
del genere, che fa esattamente quello che cerchi...
-- 
Jax
====
Nessun uomo è contento se tutto ciò che ha viene disdegnato, per quanto
poco esso sia. (Samuel Johnson)

 Avete idea di come fare?
Cerca su torry una dbgird con la ricerca integrata che fai prima ;-)
http://torry.net/pages.php?id=527
Io sto usando ExDBGrid che fa quello che cerchi.
Tra i freeware che hanno funzioni di ricerca compaiono anche TStolliIndex
DBGrid e TDBGridSearch.
-- 
Morde. 
ICLDweb: 
http://www2.samatel.com/icld/
Microsoft vuole uccidere Messenger Plus!
http://www.msgplus.net/petition.php

Buon giorno a tutti, purtroppo mi sono spiegato male. In pratica ho tre
programmi che utilizzano una tutti e tre lo stesso pannello con sopra una
dbgrid ed altri componenti legati allo stesso database, alle stesse
tabelle. Ogni volta devo copiare ed incollare gli oggetti e il codice che
fa funzionare il pannello da un programma all'altro con ovvio problemi di
manutenzione del codice (oltre che fuori da ogni buona regola di
programmazione). L'utilizzo del pannello è identico per ogni programma
solo che il record selezionato dalla dbgrid del pannello (avente sempre la
stessa sorgente dati) viene usato in modo diverso in funzione del
programma che l'utente è autorizzato ad usare.
La mia idea era quella di creare un oggetto da poter manutenere una sola
volta, da inserire "cosi comè" in ogni programma che ne dovrà fare uso.
Sono stato abbastanza oscuro? 
Ho pensato di realizzare una unit adhoc da poter poi includere in qualche
modo ma non è la stessa cosa e non sono soddisfatto del risultato.
Il componente l'ho ereditato da TCustomPanel ma il problema è che quando
creo l'oggetto non lo vedo (ovviamente ) e non posso disegnarci sopra gli
altri oggetti se non via codice. Non so proprio come si fà. 
Comunque grazie a tutti, siete sempre disponibilissimi. 

--- posted by geoForum on 
http://www.delphiedintorni.it

 fare uso.
Non li ho mai usati, ma credo proprio che i Frame facciano al caso tuo!
-- 
Jax
====
Il tempo scolpisce i nostri volti con tutte le lacrime che non abbiamo
versato. (Natalie Clifford Barney)

Il fatto è che non so proprio da dove cominciare perché se creo un nuovo
componente non ci posso disegnare sopra e se includo un frame e ci disegno
sopra, quando lo includo dentro il progetto principale proprio come
oggetto ottengo solo errori di accesso alla memoria.

--- posted by geoForum on 
http://www.delphiedintorni.it

 programma che l'utente è autorizzato ad usare.
E'questa la parte nevralgica della tua analisi: in base ad essa, potrai
verificare se c'e' la possibilita' di generalizzarla e quindi crearti un
componente TPanelPIPPO che faccia tutto oppure rimanere costretto al copia
incolla.
Quali informazioni devono poter essere modificabili? Se si tratta di un
dataset, una proprieta' che punta ad un tdataset puo' andare bene.
Ci sono oggetti che devono poter essere ridimensionati? Quali informazioni
dovranno essere modificabili, una volta ereditato il tpanelPIPPO?
Io purtroppo per una situazione simile simile alla tua sono costretto al
copia incolla: non sempre le cose possono essere realizzato come dicono le
"regole del buon programmatore".


 proprio come oggetto ottengo solo errori di accesso alla memoria.
Ti consiglio di dare una bella lettura all'help all'argomento "Working with
frames". Una volta imparate le basi penso che non sia una cosa difficile,
anzi...
-- 
Jax
====
Il nano vede più lontano del gigante, quando ha le spalle del gigante
su cui montare. (Coleridge)

oggetto ottengo solo errori di accesso alla memoria.
Il consiglio di Jax di usare i Frame č corretto anche a mio modo di 
vedere.
Per utilizzare i Frame, oltre a leggere l'help, non devi creare un nuovo 
componente e includere un Frame ma devi andare nel menů File-New-Frame 
ti appare una simil-form, qui posizioni i tuoi componenti 
DBGrid,TxxxDataset,TDataSource,TEdit,TButton, ecc. e scrivi il codice di 
gestione del tutto. Una volta finito tasto destro sul Frame e "Add to 
palette", imposti il nome del tuo componente la palette dove inserirlo e 
l'icona. Da adesso in poi lo utilizzi come un normale componente.
Ciao


Tutte le informazioni sul panello sarebbe in sola lettura e la dimensione
del pannello, con relativa posizione degli oggetti, sarebbe fissa. Niente
si sposta, niente si ridimensione.
Mi butto nella lettura di "Working with frames" e poi faccio un salto a
Lourde! ;-D

--- posted by geoForum on 
http://www.delphiedintorni.it

 Lourde! ;-D
Vaaaaaaaaaaaaaa bene!
Ooooooooooooook!
