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.
Evolution de la commande PARENT Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Evolution de la commande PARENT Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Evolution de la commande PARENT Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Evolution de la commande PARENT Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Evolution de la commande PARENT Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Evolution de la commande PARENT Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Evolution de la commande PARENT Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Evolution de la commande PARENT Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Evolution de la commande PARENT Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Evolution de la commande PARENT Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Evolution de la commande PARENT Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Evolution de la commande PARENT Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Evolution de la commande PARENT Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Evolution de la commande PARENT Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Evolution de la commande PARENT 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
-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.99 €
Voir le deal

 

 Evolution de la commande PARENT

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


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

Evolution de la commande PARENT Empty
MessageSujet: Evolution de la commande PARENT   Evolution de la commande PARENT EmptyMar 7 Fév 2012 - 11:07

Je suis en train d'explorer les possibilités de la commande PARENT.

Pour des cas simples, pas de problème: on objet visuel (bouton, mémo, ...) peut être affecté à une form autre que form 0, ou à un container.

Un objet option peut en plus être affecté à un option_container.

Là où les choses se corsent, s'est avec les objets non visuels. A priori, aucun ne supporte la commande parent, ce qui signifie qu'ils sont tous attachés à la form 0.

Oui mais ce n'est pas le cas avec l'objet image. Il peut être affecté à un container par la commande parent. A qui il appartient, alors ? Cela semble évident, mais cela ne l'est pas. Prenons par exemple l'objet timer. Il est non visuel et ne peut pas être affecté par la commande parent, ni à un container, ni à une autre form. Pourtant, on peut utiliser la commande command_target_is. Si je crée une seconde form et je fais command_target_is vers cette seconde form, alors la commande timer crée un objet sans rechigner, mais il reste attaché à la form 0 sans prévenir !

Et j'en ai une preuve: avec ma commande inactive sur une form ou un container, on peut rendre inactifs; d'un seul coup, tous les objets de cette form ou de ce container. Ce comportement est excellent. Mais notre timer affecté à la seconde form par command_target_is resta actif si je désactive cette form par la commande inactive.

Et c'est là qu'il y a une incohérence. La commande parent est bien rejeté par le compilateur sur tous les objets non visuels (timer, open_dialog, dlist, ...) SAUF sur l'objet image d'ailleurs, mais la commande command_target_is ne conduit pas à un message d'erreur si l'on tente de créer un de ces objets non visuels, et on a l'impression que tout est affecté à la cible de command_target_is alors que ce n'est pas vrai.

J'ai quelques suggestions à faire:
1. améliorer la documentation de command_target_is: elle dit simplement que toutes les commandes ultérieures s'appliquent à la form ciblée par command_target_is. Or, ceci n'est pas vrai pour les commandes créant des objets non visuels
2. bloquer la commande parent sur l'objet image, dans un souci de cohérence avec les autres objets non visuels
3. à l'image de container_option, créer un nouvel objet container_timer qui ne peut recevoir que des objets timer.
4. créer les comandes suspend/restart permettant de suspendre les évènements d'un objets, sans annuler la déclaration de la routine d'évènement. Et la commande suspend sur un container_timer suspend la reconnaissance de tous les évènements on_timer pour les objets de cette collection, et la commande restart sur un container_timer réactive tous les on_timer. Elle désactiverait en fait tous les évènements (on_timer, on_click, on_change, ...) de tous les objets d'une collection (form, container, container_option, container_timer). Et ceci a un gros avantage: d'une seule commande, on peut bloquer ou relancer plusieurs timer, et on peut dès lors les gérer facilement par groupes. De plus, on n'aurait plus à respécifier chaque fois la routine d'évènement comme dans la situation actuelle où il faut faire off_timer ou off_click pour désactiver, puis on_timer ou on_click pour réactiver, mais il faut redonner le nom de la routine. Et ceci est gênant car on ne peut pas mettre le nom de la routine dans un string ou dans une variable - il est codé en dur dans le source. Si l'on doit toucher les routines de plusieurs objets simultanément, cela représente une lourdeur de programmation et une source d'erreurs.

Donc, résumé:
- clarification de la doc sur command_target_is
- blocage de la commande parent sur l'objet image
- création de l'objet container_timer
- création des commandes suspend/restart

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
exdragon

exdragon


Nombre de messages : 601
Date d'inscription : 05/01/2012

Evolution de la commande PARENT Empty
MessageSujet: Re: Evolution de la commande PARENT   Evolution de la commande PARENT EmptyMar 7 Fév 2012 - 17:38

Citation :
mais la commande command_target_is ne conduit pas à un message d'erreur si l'on tente de créer un de ces objets non visuels, et on a l'impression que tout est affecté à la cible de command_target_is alors que ce n'est pas vrai.
Bonne remarque !!!

Tu as raison aussi sur l'objet image, enlever son target_is.

Tu es en train de relever plein de bugs ces jours-ci Wink

J'aime bien ça, au moins tu ne fais pas comme la plupart qui se disent :
"on se débrouille pas la peine de le faire remarquer".



Revenir en haut Aller en bas
 
Evolution de la commande PARENT
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» remarque sur parent
» Une fonction PARENT(N)
» Répertoire parent
» Jeu Puzzle
» Include_Data Assembleur

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: