Newsgroup: it.comp.lang.delphi
Titolo: Mettere mano a vecchi, numerosi sorgenti...

Ciao a tutti,
Sto (molto lentamente) studiando il Delphi 5, soprattutto mi
interesserebbe capire bene la programmazione ad oggetti, ma
soprattutto : la sua applicazione concreta :)
Nella piccola ditta dove lavoro spesso devo fare molte modifiche (per
es: modifica della valuta introdotta dall'euro) ai vecchi programmi.
Ovviamente prendendo uno ad uno i programmi e applicando le modifiche.
In sostanza: una noia... :(
Con le mie poche nozioni di OOP mi sono messo a fantasticare...
<il sogno>
Avere un controllo completo di tutti i componenti utilizzati nei
sorgenti dei vecchi programmi: ovvero delle proprieta' , dei metodi
ecc... di modo tale che se ne possano modificare i comportamenti "di
default".
Per esempio, supponiamo di voler aggiungere a tutti i componenti della
classe TEdit, una "funzionalita'" di questo tipo: ogni volta che il
controllo perde il "focus", applicare una certa funzione di
arrotondamento sul valore contenuto entro il controllo in questione.
Questo puo' essere fatto aprendo singolarmente ogni singolo progetto e
per ogni componente della classe TEdit, modificando il codice
dell'evento onExit (un lavoraccio se si deve fare per 1000 progetti
ognuno dei quali contiene in media 10, 20 componenti TEdit)
Se disponessi di un componente TMioEdit derivato dal TEdit, potrei
modificare direttamente questa funzionalita' una volta per tutte,
modificando i sorgenti del mio componente.
Ovviamente questo presuppone che in tutti i vecchi sorgenti siano
utilizzati i componenti TMioEdit...
Questo purtroppo non e' vero: nella realta' i programmatori che mi
hanno preceduto hanno sempre utilizzato TEdit e cio' non mi permette
di percorrere questa prima strada.
Mi sto sbagliando? Esistono alternative?
Posso modificare i sorgenti dei controlli VCL Standard?
Immagino che sia un po' complicato...
Nell'idea che mi sono fatto io, ogni volta che si inizia a lavorare su
un grosso progetto , sarebbe conveniente derivare tutti i componenti
standard per poterli in seguito modificare facilmente senza dover
rimettere mano ai sorgenti uno per uno. Soluzione alquanto drastica,
mi pare...
Direte voi : e questo che vuole da noi?
Niente di particolare, vorrei solo sapere se avete mai incontrato di
questi problemi e come li avete risolti.
Insomma vorrei invitare un po' tutti a "riflettere" in modo semplice
(per gli umili principianti) su questi concetti.
A presto
JH
---------------------------------------------------
 
Hopf...@freemail.it
 
 
<<Some of these days 
               You'll miss me honey>>
---------------------------------------------------

 (per gli umili principianti) su questi concetti.
Beh per fortuna non ho mai dovuto rimettere mano a codice altrui.. credo sia
da impazzire :D
Purtroppo di solito la strada breve e' quella di fare tutto il codice di
getto, senza strutturarlo per bene..
Poi il casino e' rimetterci le mani.. cado spesso anche io in questa
trappola..
Ciao !                {MSX}
--
{MSX}  -  
http://msx.rules.it
Mantenitore delle FAQ di it.comp.lang.delphi,
reperibili qui: 
http://gpi.infomedia.it/abc/delphi/FaqDelphi.txt

mi pare...
Difficile che le modifiche che riguardino il software siano
risolvibili soltanto con la semplice derivazione dei
componenti standard (che non e' un'impresa semplice, tra
l'altro).  Nel tuo caso, ovviamente, modificare un solo
OnExit avrebbe significato un risparmio notevole di tempo,
ma le modifiche da fare, spesso, sono piu' pesanti di questa
e riguardano, per lo piu', gli algoritmi alla base del
programma.
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
"Meglio cieco che negro" (Stevie Wonder)

getto, senza strutturarlo per bene..
Non e' di certo la strada che si segue quando si lavora in
gruppo.
