Io di solito risolvo il problema in questo modo: aggiungo un metodo alla form da chiamare:
codice:
type
TForm2 = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
procedure ShowMe(const Text: string);
end;
Come vedi dalla dichiarazione, ho aggiunto una Label al Form2 e vorrei passare il testo da visualizzare in essa come parametro al metodo ShowMe, scritto da me e implementato in questo modo:
codice:
procedure TForm2.ShowMe(const Text: string);
begin
Label1.Caption := Text;
ShowModal;
end;
Il codice non fa altro che impostare il testo come Caption della Label e visualizzare la form modale.
Prima di richiamare il metodo ShowMe, devi accertarti di aver creato la form. Puoi fare in modo che sia Delphi a crearla automaticamente (vedi [Project][Options][Forms]) oppure la puoi creare da codice in questo modo.
codice:
procedure TForm1.Button1Click(Sender: TObject);
var
frm: TForm2;
begin
Application.CreateForm(frm);
try
frm.ShowMe('Ciao!');
finally
frm.Free;
end;
end;
Questo codice di esempio viene richiamato quando si fa clic su un pulsante posizionato nella pagina principale del programma (Form1); alla pressione del pulsante, viene creata la form TForm2 e viene visualizzata attraverso il metodo che abbiamo introdotto.
Il costrutto try...finally ha lo scopo di garantire che venga liberata la memoria allocata per la form al termine del suo utilizzo; il metodo per distruggere un oggetto è Free.
Spero di averti dato buone indicazioni per proseguire il tuo progetto.
Ciao!