Je cherche une solution pour controler si une form est ouverte, afin d'éviter un bug de création de form.
D'avance merci
Je cherche une solution pour controler si une form est ouverte, afin d'éviter un bug de création de form.
D'avance merci
ca veut dire quoi ouverte ?
S'il s'agit de lister les Form créées par l'application:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var compteur:integer; for compteur:=0 to screen.formcount-1 do begin if screen.forms[compteur].name=MonFOrm.name then il existe end;
Ou alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part If IsWindowVisible(Form.Handle) then ...
Très légère erreur cher confrère (ou consoeur)Envoyé par Bestiol
Cette commande indique si la fiche est visible, pas si elle existe. Elle peut avoir été créée mais ne pas être visible 8)
(confrère )
ah voui j'avais zappé le "afin d'éviter un bug de création de form" !
Par ouverte j'entendais donc visible à l'écran...
Au temps pour moi...
Alors, un "If Assigned(Form) then" ça ne suffirait pas ?!
Selon toute vraisemblance Oui, puisque les Forms sont traités comme des pointeurs mais je n'ai pas fait le testEnvoyé par Bestiol
2 Solution :
Si la creation de la form est faite dynamiquement et que l'erreur survient sur le Create (ou le Application.CreateForm c pareil), alors ce code suffit :
Si c'est sur une question d'affichage alors suffit de tester si elle est visible ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 If not Assigned(Form) Then <Creation> //ou If Assigned(Form) Then Exit;
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