Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour
Je suis en ce moment face à un problème graphique que je ne m’explique pas.
Pour le contexte, je travaille en ce moment à France TV sur l’appli qui sert à la fabrication des JT et qui se synchronise avec le système de diffusion. L’appli a été développée initialement en PB5 et je l’ai migrée en PB11.5.
Chaque ligne de la DW principale représente un sujet, il y a une expression dans la propriété color de la band Detail comme ça :
if(etat_diffusion in (5,6), rgb(255,0,0), if (mod(getrow(), 2 ) = 0 , rgb(240,240,245), rgb(221,221,255)))
Quand etat_diffusion est à 5, le sujet est en cours de diffusion sur le canal A (matérialisé par le passage en rouge de ligne ainsi que par l’affichage d’un A en début de ligne), quand il est à 6, le sujet est diffusé sur le canal B (ligne en rouge et affichage d’un B). S'il n'y a que le A ou le B, le sujet est CUED sur ce canal.
Ça fonctionnait très bien en PB5 mais depuis le passage en PB11.5, des lignes qui ont été diffusées gardent du rouge dans le background alors que les A et B se rafraichissent correctement ce qui me laisse penser qu’il n’y a pas de problème avec les SetRedraw.
Si je clique sur une ligne ou appuie sur « flèche vers le haut » ou « flèche vers le bas », l’affichage redevient correct.
J’ai essayé de réaffecté par le code l’expression mentionné plus haut dans la propriété du Detail juste après Retrieve et avant le SetRedraw(True) ou de coder au même endroit un Hide() puis Show() pour forcer un rafraichissement de l’affichage mais ça ne fonctionne pas.
Je suis un peu vert car la mise en prod est bloquée par ce bug.
Quelqu’un aurait-il une idée SVP?
Merci d'avance,
John
Dernière modification par John77 (15-04-2014 10:57:31)
Hors ligne
Bonjour,
Dans la mesure ou l'affichage se rafraichit lorsque tu déplaces le curseur avec les flèches, as tu essayé de faire un AcceptText() après le changement de valeur de etat_diffusion pour voir ?
Hors ligne
Salut,
Ta datawindow est de quel type : Group ou autre ?
Cdt
Yanis
Hors ligne
Bonjour
@buck:
Après le changement de valeur de etat_diffusion en BD, la passerelle MOS envoie une notification à tous les clients qui les force à se rafraichir et donc je ne pense pas qu'il y ai un intérêt à faire un AcceptText() juste après un retrieve, non?
Si tu penses que si, je testerai.
@Yanis:
C'est une saleté de Freeform qui a morflée depuis 1999 du passage successif de prestat "champion du monde" de la conception de DW
Il y a une quantité phénoménale de contrôles redondants, rien qu'ajouter une colonne, c'est l'enfer pour tout bien décaler. J'ai même vu une DDDW bricolée à partir de 2 champs et d'un contrôle picture qui affiche le petit triangle avec la pointe vers le bas et tout le fonctionnement géré par le code.
Sinon, comme je devais proposer une solution ABSOLUMENT avant la fin de la journée, j'ai dégagé le "if(etat_diffusion in ..." de l'expression color et j'ai collé un contrôle rectangle coloré en rouge en background de la ligne puis joué sur la propriété visible à partir de la valeur de etat_diffusion et là, je retrouve le rendu "normal".
Mais j'aurai bien aimé savoir si quelqu'un a déjà croisé ce genre de bug graphique car je pense qu'il doit bien avoir des situation où un contournement comme j'ai pu faire n'est pas possible.
Hors ligne
Bonjour,
Non, aucun intérêt après un retrieve(). Je pense qu'il y avait un simple changement de la donnée etat_diffusion pour changer l'affichage. A ce moment tu peux essayer pour voir :
dw_1.SetRedraw(FALSE) dw_1.Reset() dw_1.Retrieve(arg1, arg2, ...) dw_1.SetRedraw(TRUE)
Hors ligne
Ahahah, que vous êtes des tueurs en PB Sybase!
Ah, désolé, je suis dispo et j'ai quitté FRANCE TV l'an passé en ayant fini avec succès votre fameux tabulaire et la gestion des droits.
Pourtant ca c'est du simple.
Ce que je regrette, vous n'avez pas souhaitez que je reste jusque la mis en prod, alors qu'il y avait pourtant plein de travail. Et j'en ai entendu des vertes et des pas murs sur moi, concernant le n'importe quoi.
Vous pouvez me contacter, mais je suis très cher pour résoudre ce genre d'incidents. Faut rattraper.... et pas à 300 jours, comme le conducteur des canards dans son lac...... avec ses propositions.....
Hors ligne
vdb's92270 a écrit:
Ahahah, que vous êtes des tueurs en PB Sybase!
Ah, désolé, je suis dispo et j'ai quitté FRANCE TV l'an passé en ayant fini avec succès votre fameux tabulaire et la gestion des droits.
Pourtant ca c'est du simple.
Ce que je regrette, vous n'avez pas souhaitez que je reste jusque la mis en prod, alors qu'il y avait pourtant plein de travail. Et j'en ai entendu des vertes et des pas murs sur moi, concernant le n'importe quoi.
Vous pouvez me contacter, mais je suis très cher pour résoudre ce genre d'incidents. Faut rattraper.... et pas à 300 jours, comme le conducteur des canards dans son lac...... avec ses propositions.....
Tu as des talents cachés en archéologie ?
Si tu as des comptes à régler, ce n'est pas le bon endroit.
Hors ligne
Je ne vois pas ce qu'un presta dev peut y faire, vdb's92270.
Hors ligne
Pages: 1