FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
bug : SHOW_MODAL bloque les évènements Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
bug : SHOW_MODAL bloque les évènements Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
bug : SHOW_MODAL bloque les évènements Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
bug : SHOW_MODAL bloque les évènements Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
bug : SHOW_MODAL bloque les évènements Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
bug : SHOW_MODAL bloque les évènements Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
bug : SHOW_MODAL bloque les évènements Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
bug : SHOW_MODAL bloque les évènements Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
bug : SHOW_MODAL bloque les évènements Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
bug : SHOW_MODAL bloque les évènements Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
bug : SHOW_MODAL bloque les évènements Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
bug : SHOW_MODAL bloque les évènements Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
bug : SHOW_MODAL bloque les évènements Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
bug : SHOW_MODAL bloque les évènements Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
bug : SHOW_MODAL bloque les évènements Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-29%
Le deal à ne pas rater :
DYSON V8 Origin – Aspirateur balai sans fil
269.99 € 379.99 €
Voir le deal

 

 bug : SHOW_MODAL bloque les évènements

Aller en bas 
3 participants
AuteurMessage
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

bug : SHOW_MODAL bloque les évènements Empty
MessageSujet: bug : SHOW_MODAL bloque les évènements   bug : SHOW_MODAL bloque les évènements EmptyVen 9 Mar 2018 - 19:53

La commande SHOW_MODAL bloque les évènements de la fenêtre rendu modale, ce qui bloque le programme car plus aucune action n'est possible.
Code:
label test
'
form 10 : HIDE 10 : left 10,600
'
button 11 : caption 11,"Quitter" : parent 11,10 : on_click 11,test
'
SHOW_MODAL 10
END
test:
  terminate
return
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

bug : SHOW_MODAL bloque les évènements Empty
MessageSujet: Re: bug : SHOW_MODAL bloque les évènements   bug : SHOW_MODAL bloque les évènements EmptyVen 9 Mar 2018 - 22:30

Exact. C'est un bug. Fais comme ceci, en attendant la correction:
Code:
label test
'
form 10 : HIDE 10 : left 10,600
'
button 11 : caption 11,"Quitter" : parent 11,10 : on_click 11,test
'
' SHOW_MODAL 10
inactive 0
show 10
END
test:
  active 0
  hide 10
  to_foregound 0
  terminate : ' supprimer cette ligne pour revenir au programme de base...
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

bug : SHOW_MODAL bloque les évènements Empty
MessageSujet: Re: bug : SHOW_MODAL bloque les évènements   bug : SHOW_MODAL bloque les évènements EmptyDim 11 Mar 2018 - 21:20

Je ne pense pas que ce soit un bug.
Tel que je l'ai codé, après un SHOW_MODAL sur un FORM, ce FORM modal passe au premier plan et reste ainsi jusqu'à ce que l'utilisateur le ferme en cliquant sur la croix rouge.
Tout objet lié par PARENT à ce FORM (comme un bouton) reste lui aussi bloqué jusqu'à ce que l'utilisateur ferme le FORM, et il est normal que les événements n'agissent pas.

Code:
dim i%
label test
form 10 : HIDE 10 : left 10,600 : caption 10,"Form 10"
button 11 : caption 11,"Compter" : parent 11,10 : on_click 11,test
SHOW_MODAL 10
END
test:
i%=i%+1
caption 0,str$(i%)
return

Dans ce code, si on clique plusieurs fois sur le bouton de FORM 10, rien ne se passe. Tout est figé. Les événements sont empilés sans s'exécuter. Si on détruit ensuite FORM 10 en cliquant sur sa croix rouge, le nombre de clics s'affiche dans le bandeau de FORM0.

SHOW_MODAL avait été demandé sur le forum avec ce fonctionnement. Il fallait figer un FORM jusqu'à sa destruction, de la même manière qu'une fenêtre de la série MESSAGE fige tout et attend une action de l'utilisateur pour disparaître.

Voici la définition d'un FORM modal:
Citation :
A modal form is one where the application can't continue to run until the form is closed.
traduction:
Un FORM modal est un FORM pour lequel l'application ne peut pas continuer son exécution jusqu'à ce que le FORM soit fermé.

_________________
bug : SHOW_MODAL bloque les évènements Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

bug : SHOW_MODAL bloque les évènements Empty
MessageSujet: Re: bug : SHOW_MODAL bloque les évènements   bug : SHOW_MODAL bloque les évènements EmptyLun 12 Mar 2018 - 0:16

Je regrette, Jack, mais je ne suis pas d'accord avec toi, pour une fois.

Si, En Delphi, j'ouvre une form avec SHOWMODAL, elle reste bien entendu active au-dessus de toutes les autres fenêtres de la même application, mais tous les objets de cette form affichée en SHOWMODAL sont actifs, que ce soit les boutons, les options qui peuvent changer d'état, les Edit dont un peut saisir le contenu, etc. J'ai d'ailleurs dans KGF.dll des fenêtres de dialogue qui peuvent s'afficher, qui sont ouvertes comme ça et dont évidemment tous les boutons sont actifs, et en particulier des boutons de validation ou annulation permettant de fermer la fenêtre proprement.

Il est facile de vérifier ce fonctionnement d'unr form Delphi affichée par ce mode. La différence, par rapport à l'affichage d'une form par la méthode simple SHOW, c'est que SHOWMODAL est une fonction retournant une valeur pouvant être positionnée dans le code fermant la fenêtre modale, informant ainsi le programme appelant de la suite à donner, alors qu'une fenêtre ouverte par SHOW existe en fait en parallèle, de façon totalement asynchrone avec le reste du programme.

Ce qui est vrai, c'est que les autres actions de l'application sont bloquées tant que la form montrée par SHOWMODAL ne sera pas fermée. Mais uniquement ces actions-là, pas cette de la form modale. Même un objet TTimer déclarée dans la form modale fonctionne, alors que les autres sont stoppés.

J'espère que tu ne m'en voudras pas d'intervenir de cette façon, mais je parle de ce que j'utilise couramment dans KGF.dll ainsi que dans les programmes Delphi indépendants. Et, d'ailleurs, il n'est même pas besoin de déclarer une telle form avec des options spéciales (telles que les fenêtres de dialogues de Windows), la simple méthoce SHOWMODAL est suffisante.

EDIT

On peut parfaitement simuler le comportement correct du SHOWMODAL en Panoramic pur:
Code:
label close10
form 10 : hide 10 : on_close 10,close10 : ... ajouter ici tous les objets de la form 10
...
' pour SHOWMODAL:
inactive 0
show 10
to_foreground 10 : ' si nécessaire - habituellement, non utile
...
' ici, on a voulu fermer la form 10:
close10:
hide 10
active 0
to_foreground 0 : ' ici, c'est nécessaire !
Et voilà. Tous les objets de la form 10 sonc actifs, alors que les objets de la form 0 ne sont pas accesibles. Et en fermant la form 10 (même avec la croix rouge), tout redevient normal.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

bug : SHOW_MODAL bloque les évènements Empty
MessageSujet: Re: bug : SHOW_MODAL bloque les évènements   bug : SHOW_MODAL bloque les évènements EmptyLun 12 Mar 2018 - 10:53

@jack
Je pensais que SHOW_MODAL fonctionnait tel que le décris klaus. Jimaginais pouvoir imposer un choix à l'utilisateur (comme OPEN_DIALOG/SAVE_DIALOG) avant de poursuivre le déroulé du programme
L'intérèt de cette commande tel qu'elle est ne me saute pas vraiment au yeux, puisque une fenetre MESSAGE fait la même chose.
Le code que tu montres provoque une erreur au dela de 5 click:
bug : SHOW_MODAL bloque les évènements Sans_t10
Il n'est pas rare que je l'obtienne avec les évènements empilés.
Revenir en haut Aller en bas
Contenu sponsorisé





bug : SHOW_MODAL bloque les évènements Empty
MessageSujet: Re: bug : SHOW_MODAL bloque les évènements   bug : SHOW_MODAL bloque les évènements Empty

Revenir en haut Aller en bas
 
bug : SHOW_MODAL bloque les évènements
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» bug BORDER_HIDE : bloque la commande full_space
» Documentation des évènements
» Gestion des évènements par une DLL
» Problème d'évènements avec GRID
» Evènements dans une DLL

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: