smanettone83 (Normal User)
Pro
Messaggi: 124
Iscritto: 20/10/2010
|
beh se nascondi il form primario con hide al restore non dovrebbe comparire nuovamente il form primario
|
|
Goblin (Member)
Expert
Messaggi: 375
Iscritto: 02/02/2011
|
Postato originariamente da givex8:
Postato originariamente da smanettone83:
Postato originariamente da givex8:
Salve a tutti, mi chiedevo se è possibile CHIUDERE il form primario senza chiudere l'applicazione (e senza usare Hide)
Grazie a tutti |
i miei sospetti sono sempre piu confermati... sento puzza di trojan..... |
Devo fare una chat con Form di login + Form della chat (dove si scrive)
Il Form di login è il primario.
A login effettuato il Form di login (il primario) deve chiudersi e aprire il Form della chat...
Non posso fare Hide sul form primario perchè se provo a minimizzare il Form della chat e poi ripristinarlo, magicamente mi spunta fuori il form primario anche se l'avevo messo in Hide precedentemente...
PS: Ne ho le p***e piene dei trojan... non ne farei mai uno...
|
Domanda ... perchè il form di login deve essere il primario ?, come ha detto smanettone, fai un form di login, lo chiami prima del principale e poi lo chiudi, non vedo problemi, l'ho fatto per un programmino http://www.pierotofy.it/pages/sorgenti/dettagli/18867-Tabe ... guarda se riesci a riutilizzare la parte di login
G
Ibis redibis non morieris in bello |
|
Goblin (Member)
Expert
Messaggi: 375
Iscritto: 02/02/2011
|
Postato originariamente da Dario DF:
Non credo... perchè dovrebbe allora fare una domanda così?
E' una cosa che uso spesso:
Es: Creare un file virtuale in memoria all'avvio e poi CHIUSO il programma lo cancello.
Lo uso per non aprire due volte lo stesso prog... |
mmm ci sono metodi più "puliti" per controllare se un applicativo è già in esecuzione.
Usare i Mutex, oppure gli atom.
G.
Ibis redibis non morieris in bello |
|
()
Newbie
Messaggi:
Iscritto:
|
Distruggi mettendo caFree in Action dentro al comando OnClose
Codice sorgente - presumibilmente Delphi |
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; Form1 := nil; end;
|
Così quando chiudi il form non esiste più e non può più minimizzarsi!
Metti comunque il form2 come primario.
Se ti servisse ricreare il form1:
Codice sorgente - presumibilmente Plain Text |
if(Unit1.Form1 = nil)then
Unit1.Form1 := TForm1.Create(Self);
Unit1.Form1.ShowModal(); //O solo Show.
|
|
|
Goblin (Member)
Expert
Messaggi: 375
Iscritto: 02/02/2011
|
Postato originariamente da Dario DF:
Distruggi mettendo caFree in Action dentro al comando OnClose
Codice sorgente - presumibilmente Delphi |
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; Form1 := nil; end;
|
Così quando chiudi il form non esiste più e non può più minimizzarsi!
Metti comunque il form2 come primario.
Se ti servisse ricreare il form1:
Codice sorgente - presumibilmente Plain Text |
if(Unit1.Form1 = nil)then
Unit1.Form1 := TForm1.Create(Self);
Unit1.Form1.ShowModal(); //O solo Show.
|
|
BRRRR rabbrividisco ... scusa tanto ... ma mettendo Form1 := nil; nell'evento close ... non puoi più scrivere codice che va oltre l'evento OnClose tipo OnDestroy infatti se nel tuo codice scrivi anche un byte nel ondestroy che fa riferimento al form1 .. ci sarà un bel AV in quanto hai impostato a nil la form .
Altro problemino... se ricrei il form principale richiami delle procedure (almeno io) di inizializzazione che devono essere chiamate 1 sola ed unica volta... per me non è la strada giusta ... (opinione personale)
G.
Ibis redibis non morieris in bello |
|
smanettone83 (Normal User)
Pro
Messaggi: 124
Iscritto: 20/10/2010
|
ragazzi troppe complicazioni... basta semplicemente invertire la creazione dei form. tutto qui!
|
|
Goblin (Member)
Expert
Messaggi: 375
Iscritto: 02/02/2011
|
smanettone83, nessuna complicazione, come sempre le strade percorribili sono molteplici, confrontarsi nelle varie opzioni mi sembra cosa buona e giusta, basta che alla fine ci sia coerenza e niente cavolate
Ibis redibis non morieris in bello |
|
smanettone83 (Normal User)
Pro
Messaggi: 124
Iscritto: 20/10/2010
|
si certamente sono daccordo, volevo solo intendere che si potrebbe risolvere il problema facilmente senza girarci troppo intorno. saluti
|
|