Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Comandare un form creato a runtime
Forum - Delphi - Comandare un form creato a runtime

Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 10:50
Lunedì, 08/12/2008
allora.. sto provando le peggio cose... ma per ora quasi nulla....

in pratica con l'istruzione

Codice sorgente - presumibilmente Delphi

  1. var
  2.   form: TForm;
  3. begin
  4.  form:=TForm1.Create(Application);
  5. end;


io riesco a creare una copia esatta della form di nome form1, con tutto il suo contenuto (bottoni, edit label ecc)

poi però, se clicco su un pulsante di un altro form (ad esempio form2), voglio che nell'edit1 della terza form creata ci venga scritto 'ciao'... come faccio? come si fa a identificare un form rispetto ad un altro?

suppongo che i nomi dei form creati stiano dentro un array che li numera progressivamente..

ma dopo come faccio a livello di codice a dire di far fare delle cose ai componenti di uno piuttosto che ad un altro form creato?



-------------------------------------------------------------
p.s. e pensare che sono diventato GURU con questo post lol
-------------------------------------------------------------

Ultima modifica effettuata da Anonymous il 08/12/2008 alle 10:55
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:00
Domenica, 14/12/2008
Non esiste un array che tiene traccia automaticamente dei forms che hai creato, devi farlo manualmente. Oppure usi una bella variabile globale che tiene traccia di quanti forms sono stati aperti. Certo non è una soluzione elegantissima, ma dovrebbe funzionare.

Ultima modifica effettuata da pierotofy il 14/12/2008 alle 21:00


Il mio blog: https://piero.dev
PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 21:43
Domenica, 14/12/2008
si.. alla fine ho risolto cosi:
ho dichiarato all'inizio un array di tform
ad esempio:
Codice sorgente - presumibilmente Delphi

  1. NUOVOFORM:array [1..100] of tform1;



e poi quando voglio creare un form nuovo faccio:

Codice sorgente - presumibilmente Plain Text

  1. NUOVOFORM[contatore]:=tform1.create(application);



cosi se voglio far riferimento ad esempio al button1 dell' n-esimo form faccio

Codice sorgente - presumibilmente Plain Text

  1. NUOVOFORM[n].button1.click;



però cmq ho una domanda..

quando scrivo:
tform1.create(application)

quell'application a cosa si riferisce?? perchè io ho visto che sia non mettendo niente, sia mettendo self, o altre cose, funziona apparentemente esattamente alla stessa maniera... quindi che sta a significare quell'application li dentro? grazie :D

Ultima modifica effettuata da Anonymous il 14/12/2008 alle 21:47
PM Quote