Newsgroup: it.comp.lang.delphi
Titolo: D6 - Problema con il Form di avvio

ciao
sto cercando di capire come mai mi succede un effetto collaterale nella mia
applicazione.
il prg che sto preparando è un programma tipo i programmi di setup (tipo
installShield)
ovvero esistono n form (da 1 a 6) dal primo form si può andare al secondo
form e dal secondo al primo, dal secondo al terzo e dal terzo al secondo,
ecc. (in pratica si può navigare tra il form precedente e quello successivo)
l'applicazione ha un form di partenza che ho chiamato frmMain
in frmMain c'è un MainMenu1->{che avvia la procedura guidata descritta
sopra}
un requisito necessario dell'applicazione e che quando parte la procedura
guidata, il form d'avvio deve rimanere invisibile
quindi eseguo nel form principale.....
self.hide ; //nascondo form principale
frm1.show; // il primo form della proc. guidata
e fin qui tutto bene.
l'effetto collaterale si verifica quando da frm1 passo a frm2
frm1.close; // chiudo il primo form della proc. guidata
frm2.show; // visualizzo il secondo form della proc. guidata
frm2 viene visualizzato (come da programma) ma il problema è che il form
principale (che era nascosto) si visualizza da solo.
forse sto sbagliando qualcosa ? anzi... in cosa sto sbagliando? come mai si
auto visualizza il form principale?
un grazie in anticipo a tutti
ciao
roberto

 quello successivo)
Secondo me stai sbagliando approccio per costruire un wizard. Dotresti
provare ad avere un solo form con i tipici pulsanti Back - Next e
visualizzare ciò che ti occorre all'interno del form stesso. Puoi usare
i frame, i panel, i componenti page insomma ti puoi sbizzarrire ma in
questo modo è tutto più controllabile.
Ciao
Antonio

 form principale (che era nascosto) si visualizza da solo.
Hai provato a settare Application.ShowMainForm a False? (in genere si fa nel
file di progetto [.dpr] subito dopo l'Application.initialize)
HTH,
--
Andrea /\/\agni
ICQ#: 174108000

 file di progetto [.dpr] subito dopo l'Application.initialize)
non funziona! se lo metto subito dopo Application.initialize non si vede
niente.
se lo uso nell'aplicazione ha gli stessi effetti di frm.hide ovvero riappare
da solo chiamando un altro form.
cmq grazie!
;-) ciao

 riappare da solo chiamando un altro form.
Io ho appena provato con un'applicazione giocattolo (anche senza impostare
la ShowMainForm):
- date 3 form auto-create
nella mainform ho (in un OnClick di un pulsante)
  Hide;
  Form2.Show;
in Form2 (sempre in un OnClick di un pulsante)
  Close;
  Form3.Show;
e funziona correttamente...
L'unica cosa è che essendo la mainform hidden l'applicazione non termina
quindi nel chiudere Form3 sarebbe bene rendere di nuovo visibile la
mainform.
Controlla il codice (magari posta pure), forse c'è qualcosa che richiama la
mainform..
HTH


 questo modo è tutto più controllabile.
non conosco bene questi componenti a parte i page, se non troverò una
soluzione farò come dici.
sarà un occasione per imparare qualcosa di nuovo, ma rilancio l'appello per
chiedere comunque il motivo di questa anomalia.
può essere che in delphi non si possa fare?
mi sembra strano!
è possibile che il form di partenza, non accetti in qualche modo che altri
form gestiscano l'applicazione?
insisto perchè dopodomani devo andare dal cliente a fargli vedere una demo,
e volevo proprio risparmiarmi la riscrittura di alcune parti di codice
ciao
roberto

 ciao
Se non c'č troppa roba di mezzo mandami i sorgenti che te lo metto a
posto... :)
salex...@libero.it
Non ti garantisco in serata ma entro domani si.....
bye,
 Acqua

 principale (che era nascosto) si visualizza da solo.
Ho cercato di replicare la cosa ma a me non da nessun problema!  ??????
Posta almeno il codice che gestisce i passaggi da una form all'altra....
Acqua

 mainform..
Ti ringrazio! ho ricreato anch'io l'esempio e funziona pure a me,
ho messo in tutti i form nell'evento onClose..... main.show (il principale)
il chè è esatto! solo che io mettevo....
form1.close; // scatena evento
form2.show;
una soluzione (anche se non mi piace molto)
form1.hide;
form2.show;
devo rivedere la cosa....
grazie dei consigli!
ciao Roberto
PS prima di trovare l'errore e sull'orlo di una crisi di nervi :)))) stavo
per postarti il codice come da tuo consiglio, ma non l'ho mica trovata? come
hai fatto?
sp...@spam.it
 mi sarebbe utile.... di fatti qui non uso la mia mail perchè
ricevo tonnellate di mail spam
ciao

 Acqua
hai ragione! scusate tutti il disturbo... avrei dovuto debug-are meglio.
ciao
roby

 perchè ricevo tonnellate di mail spam
Già, io ho avuto la bella idea di fare qualche post con la mia mail e oggi
mi ritrovo su quell'indirizzo almeno 15 messaggi di spamming selvaggio al
giorno... cmq se prendi l'iniziale del mio nome, ci sommi il mio cognome, la
chiocciola e 
supereva.it
 esce la mia mail :-)


 chiocciola e 
supereva.it
 esce la mia mail :-)
ok! grazie, io ho la media di 70-80 spam al giorno, per fortuna questa
casella di posta non la utilizzo altrimenti impazzirei.
ciao
roberto

 codice.
Se hai tempi ristretti perché non provi a dare un'occhiata a questo
componente ? Non l'ho mai usato quindi non so dirti ma mi sembra buono.
http://members.rogers.com/wyu66/index.htm
Ciao
Antonio