Newsgroup: it.comp.lang.delphi
Titolo: FormCreate

Salve, e grazie in principio.
Avrei bisogno di passare parametri al FormCreate(Sender:TObject);, 
tipo FormCreate(Sender:TObject; Ambiente:String); dove Ambiente è il mio
parametro. Come posso fare?
--- posted by geoForum on 
http://www.delphiedintorni.it

 parametro. Come posso fare?
Passa i parametri mediante una proprietà o un metodo, successivamente alla
creazione.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ma a me servono solo sul FormCreate. Fammi un esempio.

--- posted by geoForum on 
http://www.delphiedintorni.it

 Ma a me servono solo sul FormCreate. Fammi un esempio.
Non puoi modificare il FormCreate. Che problema c'č nel passare dei
parametri dopo la creazione?
var
  F: TTuaForm;
...
 F := TTuaForm.Create(...);
 F.TuaProprieta := ...;
 F.PassaIParametri(...);



--- posted by geoForum on 
http://www.delphiedintorni.it

 Quindi non li potrň usare durante il formcreate... li passo dopo.
E per quale motivo?
Spiegati..
-- 
Morde

 >Non puoi modificare il FormCreate. Che problema c'č nel passare dei


> >
Non mi vorrei sbagliare ma forse il dubbio di frankyae sta nel fatto
che non sa come e quando utilizzare i parametri in questione.
Si aspetta di doverli usare comunque nella FormCreate, forse perchè
"Ambiente" è per lui un dato di inizializzazione...
Come hai già suggerito tu l'ideale e di utilizzare:
- un metodo se i dati forniti alla form devono essere subito
utilizzati, dove potrò eseguire l'inizializzazione richiesta;
- una proprietà se devono solo essere memorizzati nella form e non
utilizzati subito.
Per precisione va detto che anche una proprietà può rispondere alla
prima esigenza, basta associare un metodo "Set..." alla write della
proprietà:
property Ambiente: string read FAmbiente write SetAmbiente;
sempre nel mio oggetto Form il metodo "SetAmbiente" si preoccuperà si
utilizzare il valore fornito...
Ciao
PS: ovviamente la risposta non era diretta a te, volevo solo
proseguire il discorso in questo punto :-)

che non sa come e quando utilizzare i parametri in questione.
Gli ambienti come Delphi hanno purtroppo un difetto: insegnano una
metodologia che non sempre è quella più corretta. L'errore più
ricorrente (se di errore si può parlare, visto che comunque lo fanno
tutti) è quello di farcire le form di logica.
Non bisogna mai perdere di vista che le form rappresentano la parte
visuale di un progetto e farcirle di troppa logica applicativa, per
quanto comodo, è comunque sempre sbagliato, perché si sfugge al
pattern MVC. La necessità di aggiungere informazioni sull'"ambiente"
alla fase di creazione di una form significa, a occhio, accoppiare la
view all'ambiente applicativo in cui essa dev'essere controllata. E'
sbagliato: una finestra non deve conoscere l'ambiente, ma l'ambiente
deve conoscere la finestra. In sostanza, mentre il model è facilmente
isolabile, nelle form di solito si aggiunge troppa logica che invece
dovrebbe stare in un controller. Purtroppo Delphi abitua alle form
come punto di partenza, mentre il punto di partenza è, ovviamente, il
controller (in quel modello Java/J2EE, che ancora viene usato, per
esempio, sono le servlet il punto di ingresso, non le jsp). Il
problema è che non esiste un'alternativa più semplice per lo sviluppo
rapido.

rapido.
Forse lo sviluppo rapido a volte č un po come la famosa "gattina
frettolosa...", le cose bisognerebbe pensarle oltre a cercare di
farle.
Io personalmente mi ritrovo negli errori di molti che postano, quando
ho iniziato sviluppavo molto "RAD", adesso paradossalmente sono molto
meno rapido (ed i risultati sono migliori).
L'importante č che quando uno sbatte la testa su di un problema ne
approfitti per fermarsi  e studiare un po' di teoria, lo dico per
esperienza...
Ciao

 tutti) è quello di farcire le form di logica.
Quoto in pieno.
Mi trovo ad adoperare componenti GUI destinati ad incapsulare business
objects, e sto trovando corrispondenza con quanto detto da te. La
tentazione di distribuire logica nella gui è veramente forte..
-- 
Morde


Guardare l'help sotto paramstr no ?
Guido

Guido
Non vorrei che in questo contesto "ambiente" sia un parametro nel
senso di un valore da passare alla "form" e non nel senso di parametro
da riga di comando.
ParamStr č solo una funzione per ottenere i parametri della
command-line.....
Ciao