Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 24-02-2010 11:13:26

Pilou007  
Membre Geek
Lieu: Bordeaux
Date d'inscription: 01-02-2007
Messages: 69
Pépites: 313
Banque: 0

[RESOLU] Enchainement evènement "clicked"

Salut les p'tit loups...

Je vous explique le contexte: PB5.0 (et oui!!!) qui travaille avec la PowerLib de chez Novalys...

Dans l'objet u_dw de la powerlib, les évènements sont tous codé en faisant appel à un moteur (u_moteur_dw) ce qui donne par exemple:
dans l'évènement "Clicked", avec guo_app user object application, iuo_mdw, user object "moteur" dw

Code: pb

guo_app.iuo_mdw.uf_clicked(this,row)

Dans le contexte PowerLib, il est, contractuellement, interdit de modifier les objets, mais mon client, à étendu les moteurs (u_moteur_dw_e), mais pas le u_dw (ce qui est une erreur, je vous l'accorde...). Donc je n'ai pas le droit de modifier u_dw, par contre comme chaque évènement appelle une fonction du moteur étendu, comme expliqué au dessus, je ne peux coder que dans le moteur étendu...

Mon problème:
Dans l'évènement "Clicked", j'aurais besoin de récupérer la colonne sur laquelle j'ai "clické", or il s'avère qu'un getColum() ne renvoi rien du tout dans l'évènement "Clicked" et que la colonne "clickée" est connue que après cet évènement...

Question: Est-ce que l'un de vous connait l'enchainement des évènements, après "clicked" y a t-il un autre évènement qui s'enchaine (je ne peux pas utiliser l'itemfocuschanged pour des raisons trop longues à expliquer...)????

Merci de votre aide
Pascal

Dernière modification par Pilou007 (24-02-2010 14:27:20)

Hors ligne

 

#2 24-02-2010 11:46:07

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Enchainement evènement "clicked"

Bonjour,

Dans ce cas, tu peux toujours créer ton propre événement personnalisé (ex : ue_postclicked) et le déclencher dans l'événement clicked (Appel Post) :

Code:

this.PostEvent("ue_postclicked")

Hors ligne

 

#3 24-02-2010 13:09:37

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Enchainement evènement "clicked"

Pilou007 a écrit:

Dans le contexte PowerLib, il est, contractuellement, interdit de modifier les objets...

Est-ce que cela veut dire que Novalys assure toujours le support de la Powerlib ? A priori elle n'est plus commercialisée depuis plusieurs années non ?


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#4 24-02-2010 13:18:49

Pilou007  
Membre Geek
Lieu: Bordeaux
Date d'inscription: 01-02-2007
Messages: 69
Pépites: 313
Banque: 0

Re: [RESOLU] Enchainement evènement "clicked"

Salut
Buck, comme je l'explique, je ne peut pas modifier ou ajouter d'évènement à l'objet u_dw...

Ce que je peut faire, c'est ajouter du code dans les fonctions du moteur... Dans mon cas, je peux ajouter du code dans la fonction uf_clicked du moteur, mais comme je ne peux pas y récupérer mon num de colonne (car pas encore sorti de l'event clicked), il me faut autre chose...
Par exemple, si l'évènement clicked déclenche l'event "toto", je pourrais modifier le code de la fonction uf_toto (si elle est codée...) du moteur....

D'ou ma question, comment s'enchaine les évènements, en particulier, est-ce qu'il y a un event qui est déclenché après le clicked de la dw?

Chrnico, je n'en sais rien du tout... je prends les info que l'on m'a donné ici, je n'avais jamais travaillé avec cette powerlib avant...

Bye
Pascal

Hors ligne

 

#5 24-02-2010 14:12:59

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Enchainement evènement "clicked"

Bonjour,

Tu peux utiliser la méthode GetObjectAtPointer() pour obtenir le nom de la colonne cliquée dans un événement clicked.

Hors ligne

 

#6 24-02-2010 14:21:36

Pilou007  
Membre Geek
Lieu: Bordeaux
Date d'inscription: 01-02-2007
Messages: 69
Pépites: 313
Banque: 0

Re: [RESOLU] Enchainement evènement "clicked"

Salut Buck
Oui ça semblait être une bonne idée, mais apparemment ça ne fonctionne pas... Je ne peux pas travailler dans l'event, mais que dans la fonction uf_clicked du moteur et qui est appelé comme ceci dans l'event clicked:

Code: pb

guo_app.iuo_mdw.uf_clicked(this,row)

Avec ce code dans la fonction uf_clicked ça ne marche pas:

Code: pb

string ls_test
ls_test =adw_parm.GetObjectAtPointer()

Mais ls_test reste null....

par contre j'ai trouvé la solution, l'event clicked appel la fonction uf_clicked du moteur, comme je vous l'ai expliqué, et dans cette focntion uf_clicked, je fais un

Code: pb

//appel de l'évènement de déplacement des dddw dans le cadre d'un double écran
this.Post Function uf_down_dddw_dbl_ecran(adw_parm)

Ce qui permet de sortir de l'event clicked et ensuite je peux faire tous les GetColumn() ou GetColumnName() que je veux...

C'est donc résolu...
Merci pour votre aide

Bye
Pascal

Dernière modification par Pilou007 (24-02-2010 14:26:56)

Hors ligne

 

#7 24-02-2010 14:23:04

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Enchainement evènement "clicked"

   please


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22