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

Saluti al NG,
sto scrivendo un componente(Polling) derivante dal TComponent, che possiete
una proprieta' (XM) di tipo, un'altro mio oggetto(Antenna) derivante
anche'esso dal TComponent che possiede una serie di proprieta' pubblished.
Ora mi domando come mai nell'object inspector del Polling, compare la
proprieta XM, ma non il segno + che dovrebbe farmi impostare le proprieta'
pubblished dell'Antenna, e al suo posto compare un menu a tendina ? Dove
sbaglio o cosa non dichiaro in modo corretto ?
Saluto tutti e ringrazio per l'attenzione.
Davide


    Via De Gasperi, 14 - 42019
    Scandiano (Reggio Emilia)

 ha scritto nel messaggio
news:y99na.20922$LB6.5...@news1.tin.it...


 Hai idee ??
Non sapevo che tu dovessi impostare riferimenti tra un componente ed un
altro.
A questo punto, credo che l'approccio più corretto sia quello di creare
un componente che includa le funzionalità inserite nel discendente di
TPersistent che ti ho consigliato di fare.
Nel componente che faceva uso del TPersistent, inserisci solamente una
proprietà che permetta di collegarlo al nuovo componente esterno che vai
a creare.
In questo modo, il tuo componente potrà sempre delegare al secondo, se
il riferimento è impostato, le operazioni che competono ad esso.
Purtroppo la trattazione dei componenti è un argomento complesso e
coinvolge molti aspetti; inoltre, realizzare un componente spesso
richiede l'introduzione di metodi all'interno della classe che hanno il
solo scopo di permettere al componente di vivere all'interno del mondo
VCL, seguendo le regole che vengono imposte. Come esempio, puoi cercare
nella Guida in linea informazioni relative al metodo Notification di
TComponent (si tratta di un metodo che ti permette di sapere quando un
componente appartenente allo stesso Owner viene distrutto allo scopo di
aggiornare gli eventuali riferimenti interni a quel componente).
Con la versione di Delphi 7, sono stati introdotti ulteriori meccanismi
per la scrittura di componenti.
A mio avviso, prima di buttarti nella programmazione spinta di serie
complesse di componenti, dovresti cercare qualche guida o articolo che
ti spieghi le basi.
Ricordo che c'era un articolo interessante sul sito di Marco Cantù
(
http://www.dedonline.com
).
Prova a cercare...


 ha scritto nel messaggio
news:xdena.22879$LB6.5...@news1.tin.it...


 ha scritto nel messaggio
news:xdena.22879$LB6.5...@news1.tin.it...


 senza diventare pazzi ?
Potresti incapsulare il codice di gestione di questa fantomatica entità
"Antenna" (che purtroppo non ho ben presente cosa sia) all'interno di un
componente. Le funzionalità che questo componente è in grado di eseguire
si applicano ad uno o più elementi che contengono ciascuno le proprietà
da passare all'algoritmo. Per questo scopo, potresti dotare il tuo
componente di una Collection (TCollection e TCollectionItems); ciascun
elemento della Collection contiene le proprietà da utilizzare e puoi
definire 1...32...100 elementi.
Purtroppo, spiegare l'uso della Collection e scrivere degli esempi
richiede più tempo, molto più tempo di quello che ho a disposizione.
Perchè non valuti l'acquisto di un libro o un manuale per approfondire
l'argomento "Creazione di componenti?". Mi sembri molto interessato e
già portato verso questo tipo di approccio...ti serve solo una guida
completa che ti elenchi tutto ciò che serve di contorno per far
funzionare i meccanismi.
L'unico altro suggerimento che posso darti è di consultare la Guida in
linea (ci sono indicazioni ed esempi) in merito alle classi che ti ho
citato, oppure osservare i sorgenti di mamma Borland per capire i
meccanismi utilizzati per adoperare le classi della VCL.


 inspector Delphi (D5) risponde con "Unabled to expand", come posso
fare ?
Scrivi almeno una parte del codice, altrimenti è difficile comprendere i
motivi dell'errore.
Ad ogni modo, posso ipotizzare che i possibili errori siano 1) mancata
creazione della classe TPersistent da parte del componente che la
utilizza, 2) errato utilizzo del metodo di assegnamento della proprietà.
Ribadisco... secondo me, sarebbe una buona idea ispezionarsi i sorgenti
della Borland relativamente ai componenti più semplici (ad esempio, il
TShape) che contengono algoritmi non troppo complessi e, per ciascun
campo, metodo o proprietà, tentare di capire la sua attinenza con il
componente/controllo visuale o con l'integrazione nella VCL aiutandosi
con la Guida in linea di Delphi per ottenere maggiori informazioni.


 ha scritto nel messaggio
news:j7una.26032$LB6.6...@news1.tin.it...


 del polling. E' possibile far tutto cio' senza diventare pazzi ?
Cio' che _credo_ ti serve e' un property editor.
Per intenderci, tipo quello di TChart, in cui una volta creato il
grafico puoi aggiungere N serie di dati, ciascuna delle quali e' a sua
volta configurabile dall'interno del PropEditor o come componente a se'
(selezionandola dalla lista dell'OI).
Saluti
Paolo Arosio

 ha scritto nel messaggio
news:j7una.26032$LB6.6...@news1.tin.it...
