Newsgroup: it.comp.lang.delphi
Titolo: Gestione forms

Dal mio programa lancio un form che ha la proprietà StayOnTop settata a
true, e viene lanciato nel modo classico:
mioform:=Tmioform.create(nil);
mioform.showmodal;
mioform.free;
Questo form ha un bottone OK che mi dovrebbe creare due altri form. Allora
io nel OnClick di questo bottone gli ho inserito in SEQUENZA il codice per
creare questi 2 form. Problema: questi 2 form non li posso creare con lo
showmodal perchè appena finito di creare il primo, l'esecuzione si blocca e
il secondo non mi verrebbe creato.... Il fatto è che io avrei la necessità
di eseguire delle altre operazioni dopo la distruzione dei 2 form (come per
esempio la free di qualche oggetto), cosa che adesso non posso fare perchè
andrei a creare questi oggetti e, mancando della showmodal, li vado a
distruggere subito dopo, rendendo vana ogni operazione.
Altra questione: creando i due form in questo modo, il form principale del
programma non mi verrebbe disabilitato ma resterebbe attivo, cosa che non
voglio.
Chi mi suggerisce come comportarmi? E' la prima volta che mi trovo in una
situazione del genere.
Grazie anticipatamente
-- 
Davide
------------------------------------------------------------
Il tempo è la cosa più preziosa che l'uomo possa spendere
------------------------------------------------------------

 ha scritto nel messaggio
news:blmcbp$bs5$1...@le1.cs.unibo.it...


il secondo non mi verrebbe creato.... 
Che intendi per "creare CON lo showmodal" ? ShowModal è solo un metodo
che può essere utilizzato quando la form è stata già creata.  
In alternativa c'è Show.

Mostrare 2 form modali in contemporea di fatto annulla l'utilità di
showmodal che è quella di impdedire all'utente di fare qualsiasi cosa senza
aver fatto un qualcosa che potrebbe essere fondamentale.
Lasciando da aprte i problemi tecnici per la realizzazione di questa cosa,
ti suggerisco di pensare *prima* a rispondere a queste 2 domande:
1) se la tua app ha 2 form modali attive,  quale di esse ha la priorità?
2) cosa deve fare l'utente con 2 form modali?
Bye
A
--
Per rispondere a questo messaggio non usare il reply ma scrivere al seguente
indirizzo:
al.salvati(at)mclink(puntino)it

ok, rispondo a tutti per fare chiarezza spero.
Devo dare all'utente la possibilità di confrontare 2 immagini, quindi le
apro entrambe in due form SIMILI affiancati, ognuno prende metà dello
schermo. La creazione di questi 2 form viene lanciata da un altro form che
fa scegliere all'utente le due immagini da confrontare. Il primo problema
sta nel fatto che io devo disabilitare il form principale
(form1.enabled:=false) in modo che l'utente, anche riducendo ad icona i due
form di confronto immagine, non possa toccare altro.
Altra cosa: dopo la distruzione dei 2 form devo compiere altre operazioni di
deallocazione di memoria.
Con qualcosa del tipo:
mioform:=Tmioform.create(nil);
mioform.showmodal;
miavaribile.free;
mioform:=nil;
mioform.free;
va tutto a meraviglia, tutta la memoria viene deallocata. Solo che non posso
usare la showmodal perchè andrei a creare solo il primo dei 2 form in quanto
l'esecuzione si aresta sulla showmodal capito?
Ditemi dove non capite, ci tengo per due motivi:
1° Voglio capire come funziona l'avvicendarsi dei form
2° Voglio finire sto programma che è una vita che ci sono sopra :))
Daivde
PS: provvederò a cambiare la modalità di creazione dei form con le try
finally. Grazie

Ciao, io è da poco che uso delphi e non ricordo bene i vari nomi e le
proprietà, potresti impostare la form che usi per lanciare le 2 immagini
da confrontare come 'principale', e le altre form sono 'figlie' e puoi
aprirne quante ne vuoi avendo sempre lo ShowModal su quella principale.
(spero che abbiate capito la mia idea).
---------------------------------------------------------------------------
Messaggio inviato attraverso 
http://www.trucchiperpc.it
 - sezione newsgroup

 (spero che abbiate capito la mia idea).
No, scusa ma non ho ben capito... come faccio a impostare un form come il
principale e da li gestrimi lo showmodal?
Ciao
Davide

 confronto immagine, non possa toccare altro.
Usa una sola form e piu' frame.
Ciao.
--
ACSH
[D4]
---------------------------
Chi fa da se'
fatica il doppio

A mio avviso sarebbe molto + semplice inglobare le due immagini in una
finestra unica, magari visualizzata tutto schermo, e un pulsante
posizionato sotto ogni immagine che permetta di identifica quella
scelta ed in aggiunta un pulsante di chiusura della finestra.
Nell' Object Inspector devi impostare la proprietą BorderIcons in modo
che non venga mostrato nessun pulsante.
BorderIcons := []
Ciao