Pb a creer un exe avec la principal form invisible
Winniez
Messages postés3Date d'inscriptionsamedi 2 août 2003StatutMembreDernière intervention15 août 2003
-
2 août 2003 à 09:46
Rush_Beck
Messages postés12Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention14 juin 2006
-
27 sept. 2003 à 21:33
J'ai voulu au demarrage de exe afficher une autre form que la form principal. a l'execution sa me met une erreur, apres g mis le meme code dans un bouton et supprimer le code du demarrage et la il m'indique pa d'erreur.
Form1 :
implementation
uses Unit2;
procedure TForm1.Button3Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
form2.Show;
form1.Visible := false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
form2.Show;
form1.Visible := false;
end;
end.
form 2 :
implementation
uses Unit1;
procedure TForm2.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Visible := true;
form2.Close;
end;
end.
voila les code des deux form
Quelq'un peut m'aider a resoudre se probleme ???
A voir également:
Pb a creer un exe avec la principal form invisible
Rush_Beck
Messages postés12Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention14 juin 2006 27 sept. 2003 à 21:33
La situation est normale si tu n'a pas modifié le source du projet la form2 se crée aprés la form1 donc dans le create tu ne peux pas utiliser le show puisque la form2 n'a pas encore été créée.
Pour gérer tes fenêtre il faut d'habord utiliser les options du projet (Projet Option... dans D6).
Tu peux créer ta fenêtre 2 toi même mais il faudra également la libérer avant de quiter l'appli.
Je ne sais pas exactement ce que tu veux faire mais s'il s'agit simplement de démarer par Form2 çà se gère trés facilement dans les options de projet.
Voilà un bout de code pour créer une fenêtre et la lancer pendant la création de la Form1.
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.FormCreate(Sender: TObject);
var
F2 : TForm2;
begin
F2 := TForm2.Create(self);
F2.showModal;
F2.free;
// finir l'initaialisation de Form1
end;
bien entendu Form1 ne s'affichera qu'après la fermeture de F2.
Il n'est donc plus nécessaire que la fenêtre soit créée au départ (c'est même déconseillé saut si tu as besoin de 2 instances distincte)
Ce genre de technique est pratique pour que ton exe n'utilise pas trop de mémoire et soit plus rapide au chargement par contre la création des fenêtres avant leurs utilisation est bien plus lente que l'affichage d'une fenêtre qui a été créée au chargement de l'exe.