Bonjour,
Comment tester qu'une FORM a été déjà créer dans une application?
Merci d'avance pour vos réponses.
Bonjour,
Comment tester qu'une FORM a été déjà créer dans une application?
Merci d'avance pour vos réponses.
Bonjour et bienvenue sur Developpez.com
Merci de bien vouloir lire les règles du forum ainsi que l'aide aux nouveaux.
Sans apporter un peu plus de précisions, et notamment la façon dont ta fiche est créée, on aura du mal à t'aider. Précise stp.
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
la nouvelle FORM est créée et affichée en cliquant sur un bouton d'une FORM principale, mais il y a un cas ou la nouvelle form est déjà créée donc on ne fait plus que l'afficher et c'est ce que je voulais connaitre comment tester que la nouvelle form a été déjà créée c'est à dire qu'on a déjà fait l'instruction: NouvelleForm:=TForm.Create(Self);
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if not Assigned(NouvelleForm) then NouvelleForm:=TForm2.Create(Self);
Par contre, faut détruire la fenêtre avec FreeAndNil !
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)
Salut
Perso pour une form je préfère utiliser un Release suivi d'un nil.
@+ Claudius
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3MaForm.Release; MaForm := nil;
Le Free c'est après du Modal
Le Release c'est dans un Gestionnaire d'Event (genre OnClick) pour éviter une libération d'un objet en cours d'utilisation (Sender)
On peut aussi mettre caFree (ne fait ni plus ni moins qu'un release) comme action dans le OnClose, et si l'on gère un singleton, affecter lors du OnDestroy un nil ...
Si l'on n'utilise pas de singleton, et que l'on ne stocke pas la référence, il faut soit utiliser le Owner pour gérer la libération ...
L'Affectation à nil, est evidemment indispensable ...
il existe un autre moyen, si dans le "TForm.Create(...);", le ... est Application, via la propriété Components, on peut chercher la fenêtre ...
Idem, dans le cas de MDI Child où le Owner est la MainForm MDI ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Merci pour vos réponses les gars ça marche!
a+ sur le forum!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager