Powerbuilder pour les completement Geeks !

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 16-06-2011 12:11:34

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

[SOURCE] ZE debug tool : la DW Debug Machine

Hello,

xlat n'en a pas fait mention sur le forum (encore ?) mais il vient de publier ZE tool pour aider la prototypage, la mise au point, ou le debuggage sur les DataWindows : la Datawindow Debug Machine (c) (r) TM .

Une fois appelée en live sur une DW (par exemple sur un clic droit, un raccourci clavier, ou en surchargeant la méthode modify() pour appeler la Debug Machine si le résultat du modify est "!" ) elle permet :
- de lister tous les colonnes, computes, textes de la DW et d'en parcourir les attributs
- de visualiser les valeurs des attributs (en construisant les expressions describe() kivonbien et en les affichant) ET de les modifier (on a la fonction Describe + Modify)
- de prototyper des modifications sur la DW (en affichant une zone de saisie réutilisant scintilla permettant de saisir les expression de son choix et avec coloration syntaxique)
- d'évaluer une expression pour une ligne ou pour chaque ligne de la DW (p. ex pour vérifier un ID à chaque ligne)
- d'afficher définition des colonnes (remplace chaque valeur de colonne par le nom de la colonne, pratique quand on cherche le nom d'une colonne pour la réutiliser dans une expression)

Bref, c'est que du bonheur, au taf ça nous a déjà fait gagner des semaines de dev, et ça lui permettra au moins de récolter 10 milliards de pépites

Il y a même une démo visuelle

C'est dispo ici : http://geni.embeddingperl.com/index.php … bugMachine

Enjoy !

Dernière modification par seki (16-06-2011 12:14:18)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#2 16-06-2011 14:01:39

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

Re: [SOURCE] ZE debug tool : la DW Debug Machine

ça a l'air de roxxe !!!

allez je lui file les 10 milliards de pépites (ça ne représente finalement d'un 400ième de ma fortune)

EDIT : bug spotted dans le module banque 10000000000 se transforment en 4,637,080,366,762...


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

Hors ligne

 

#3 16-06-2011 14:30:07

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

seki a écrit:

Hello, xlat n'en a pas fait mention sur le forum (encore ?) mais il vient de publier ZE tool...

arf... depuis que tu fais ton lobbying pour çà j'ai fini par céder


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#4 18-08-2011 16:02:12

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Bonjour,


Et est-ce que ce merveilleux outil permettrait de savoir quelle est la colonne qui est a un status modify dans une datawindow et qui entraine le modifycount sur la dw ?

Mon problème est que j'ai un modifiedcount sur une dw comportant de nombreuses zones, mais je ne sais pas quelle colonne me pose problème.


Merci d'avance,

Hors ligne

 

#5 19-08-2011 07:43:47

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

bonjour,
non (pas encore), par contre on peux trouver les lignes contenant des modifications :
dans expression: isRowModified()
dans le sle à côté du bouton "evaluate", mettre * et cliquer sur le bouton evaluate.
çà donne un résultat du genre:

Code: pb

/* Evaluate( ..., *) */
/* row = 0 */  false
/* row = 1 */  false
/* row = 2 */  true
/* row = 3 */  false


je vais mettre sur ma todo-list une option pour retrouver les colonnes modifiés.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#6 19-08-2011 13:41:35

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Bonjour,

En attendant, j'ai écrit un petit bout de code qui pourra peut être aider quelques personnes destiné à trouver la colonne et le row concerné par le status datamodified

Code: pb

[pb]
long ll_count_colonne , ll_row , ll_rowcount_dw , ll_row_dw
string ls_columnname , ls_tag , ls_nom_colonne , ls_coloumn

decimal lc_pa_debut , lc_pa_fin

dwitemstatus ldw_statut 

ls_coloumn = ad_dw.Object.DataWindow.Column.Count

ll_count_colonne = long(ls_coloumn)

ll_rowcount_dw = ad_dw.rowcount()

for ll_row_dw = 1 to ll_rowcount_dw
  
  For ll_row = 1 to ll_count_colonne    
  
    ldw_statut    = ad_dw.GetItemStatus ( ll_row_dw , ll_row, primary! )
        
    IF ldw_statut = DataModified! then
      
      ls_columnname = ad_dw.describe("#"+string(ll_row)+".name")    
      
      messagebox ("info dev" , "la colonne " + ls_columnname + " a le status DataModified sur la ligne " + string  (ll_row_dw) )
    end if
    
  Next
next

Hors ligne

 

#7 01-10-2011 22:27:21

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

wazou1812 a écrit:

Bonjour,


Et est-ce que ce merveilleux outil permettrait de savoir quelle est la colonne qui est a un status modify dans une datawindow et qui entraine le modifycount sur la dw ?

Mon problème est que j'ai un modifiedcount sur une dw comportant de nombreuses zones, mais je ne sais pas quelle colonne me pose problème.


Merci d'avance,

Maintenant oui :-)

http://geni.embeddingperl.com/public/images/dwdbgv2_04.png

La nouvelle version permet aussi :
d'espionner les buffers Primary, Filtered et Deleted*
de découvrir les cellules modifiées (fond rouge)
recherche rapide dans l'arbre des contrôles/propriétés
d'espionner les datawindowchild en faisant un clic droit + Ctrl sur le nom de la colonne dans le treeview


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#8 03-10-2011 07:54:53

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

xlat a écrit:

La nouvelle version permet aussi :
d'espionner les buffers Primary, Filtered et Deleted*
de découvrir les cellules modifiées (fond rouge)

Déjà ça c'est bien pratique

xlat a écrit:

recherche rapide dans l'arbre des contrôles/propriétés
d'espionner les datawindowchild en faisant un clic droit + Ctrl sur le nom de la colonne dans le treeview

Mais alors espionner un datawindowchild, ça c'est de la feature ! J'en rêvais depuis longtemps http://geni.embeddingperl.com/public/images/dwdbgv2_06.png

Dernière modification par seki (03-10-2011 07:56:58)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#9 13-03-2012 14:11:37

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Énorme


never let people work on more than one thing at once.

Hors ligne

 

#10 11-06-2013 06:15:53

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

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Encore bravo pour ce module

Je viens de l'implémenter sur une DW ancêtre (via CTRL-SHIFT-D)

Petite question, je n'ai pas regardé en détail, quelle est la différence entre le "mode Modal" et le "mode Palette" ?


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

Hors ligne

 

#11 11-06-2013 07:55:43

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Ca a l'air vraiement bien , je n'avais pas encore pris le temps de voir comment on l'utilisé. J'aime beaucoup.

De la même manière que erasorz je pense l'implémenté par une série de touches et contrôle de l'user loggé sur la dw ancêtre de notre progiciel  (après accord de mon boss).


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#12 11-06-2013 07:57:53

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

pour ceux que çà intéresse, il y a la dernière version sur https://github.com/xlat/dwdebugmachine donc possibilité de partager les correctifs et améliorations


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#13 11-06-2013 07:58:15

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Simple :
- en mode modal tu ne peux pas sortir de la fenêtre debug
- en mode palette tu peux glisser la fenêtre dans un coin de l'écran (ou sur l'écran d'à côté si tu en as un autre) et revenir sur ta dw pour t'en servir normalement et faire tes traitements. Après tu peux revenir dans la debug machine pour regarder ce qui a changé de buffer (primary, deleteted, filtered) ou changé tout court (un des boutons permet de colorier en rose les cellules qui ont été modifiée depuis le retrieve


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#14 11-06-2013 08:00:29

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

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Okay.

La dernière version c'est bien la 2.4 ? http://geni.embeddingperl.com/index.php … chine-v2.4


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

Hors ligne

 

#15 11-06-2013 08:01:32

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

xlat a écrit:

pour ceux que çà intéresse, il y a la dernière version sur https://github.com/xlat/dwdebugmachine donc possibilité de partager les correctifs et améliorations

Notamment la possibilité de pouvoir saisir plus de 8 caractères dans l'onglet "data" (pour ceux qui n'auraient pas remarqué, on a un accès total à la DW, avec la possibilité de modifier les données en plus des propriétés et contrôles de la DW )


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#16 11-06-2013 08:05:18

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

erasorz a écrit:

Okay.

La dernière version c'est bien la 2.4 ? http://geni.embeddingperl.com/index.php … chine-v2.4

L'auteur n'est plus sûr que la version la plus à jour et la moins bugée soit déjà packagée sur son site... Il est possible que tu doives reprendre depuis github (si tu n'as pas git, tu peux récupérer un zip directement dans le menu du site)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#17 11-06-2013 08:09:02

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

Re: [SOURCE] ZE debug tool : la DW Debug Machine

seki a écrit:

L'auteur n'est plus sûr que la version la plus à jour et la moins bugée soit déjà packagée sur son site

L'auteur ne parle pas ?

Si mais elle parle pas à toi


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

Hors ligne

 

#18 20-11-2013 10:59:34

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Bonjour,

y a t'il quelquepart des explications sur comment intégrer cet outil à un projet existant ?

J'ai l'impression que j'ai un souci à cause des librairies de seki fournies en .pbd (pourquoi des .pbd et pas des .pbl ?)

J'ai essayé de les télécharger du site de Seki mais je remarque que je me retrouve avec pbnicw.pbl et pbnicw.pbd qui ne contiennent pas la même chose ??? je suis paumé là...

Si j'exécute l'application de la DWDebugMachine tout va bien mais si j'essaye de l'utiliser depuis ma propre application j'ai l'erreur "Bad Runtime function reference" dès l'appel d'une fonction contenue dans  pbnicw.pbd  comme cwgetfield


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#19 20-11-2013 13:12:15

_francois_  
Bienfaiteur du site
Lieu: TOULOUSE
Date d'inscription: 25-03-2010
Messages: 151
Pépites: 178,983,268,111
Banque: 9,223,372,036,854,776,000

Re: [SOURCE] ZE debug tool : la DW Debug Machine

rincevent a écrit:

Si j'exécute l'application de la DWDebugMachine tout va bien mais si j'essaye de l'utiliser depuis ma propre application j'ai l'erreur "Bad Runtime function reference" dès l'appel d'une fonction contenue dans  pbnicw.pbd  comme cwgetfield

il me semble qu'il te faut aussi le pbnicw.pbx

Hors ligne

 

#20 20-11-2013 14:18:06

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [SOURCE] ZE debug tool : la DW Debug Machine

merci !

en copiant ces fichiers .pbx dans le répertoire de mon appli ça fonctionne !


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#21 20-11-2013 15:07:20

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

rincevent a écrit:

y a t'il quelquepart des explications sur comment intégrer cet outil à un projet existant ?

oui, dans le README :-)

Bon, je suis pas sûre d'avoir communiqué sur le repository de la derniere version, mais bon c'est l'ocasion: https://github.com/xlat/dwdebugmachine


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#22 20-11-2013 15:07:40

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

rincevent a écrit:

en copiant ces fichiers .pbx dans le répertoire de mon appli ça fonctionne !

Les extensions pbni se composent d'une dll (avec l'extension .pbx) et d'un .pbd qui ne contient que les références vers les fonctions de la dll.
Le pbd est obtenu après compilation de la dll avec un outil sybase qui s'appelle pbx2pbd.
Par contre j'ai remarqué que tu peux ajouter au projet directement les pbx et l'ide se débrouille avec.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#23 21-11-2013 09:09:11

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [SOURCE] ZE debug tool : la DW Debug Machine

xlat a écrit:

oui, dans le README :-)

Merci, désolé pour la question de boulet mais moi j'avais téléchargé directement depuis le lien donné dans le 1er message et là y avait pas de fichier readme, j'ai pas pensé à aller voir sur github.

Merci pour les précisions aussi Seki


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#24 21-11-2013 11:47:09

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [SOURCE] ZE debug tool : la DW Debug Machine


Je me suis réjouis trop vite on dirait, j'essaye de l'intégrer à une autre application, j'ajoute donc les .pbd suivantes à mon autre application (comme je l'ai fait pour la 1ere appli)

geni_dwdm120.pbd;pbnicw.pbd;pbnihash.pbd;pbnilist.pbd;pbniregex.pbd;

ensuite je copie dans le répertoire de ma 2ème application les fichiers suivants (que je recopie du répertoire de ma 1ere appli pour être bien sûr d'avoir les mêmes versions)

pbnicw.pbx, pbnihash.pbx, pbnilist.pbx, pbniregex.pbx, scilexer.dll, LexDWExpr.dll

je fait pareil pour les fichiers suivants (pas sûr que ça serve vraiment à qqchose mais comme ils sont copiés dans le rep de mon appli 1 et que la ça fonctionne je fait pareil pour mon appli 2) :

hasdwchild.ico, Icon_5.ico, pbnicw.pbd, pbnihash.pbd, pbnilist.pbd, pbniregex.pbd


Et là quand j'essaye avec mon appli n°2 rebelote "Bad function runtime reference"

Je pige pas pourquoi ça marche avec mon appli 1 et pas avec la 2 ? Auriez-vous une idée ?


Edit : j'ai trouvé, mon appli 2 change le répertoire courant en utilisant DirList sur une ListBox (l'effet de bord bien lourd...) et à partir du moment où le répertoire courant n'est plus celui qui contient les .pbx ça plante complètement


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#25 21-11-2013 12:02:15

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [SOURCE] ZE debug tool : la DW Debug Machine

Tu recopies 2 fois les pbd... Ce sont les bons fichiers ?
Dans le doute supprime les pbd correspondant à des pbx et ajoute directement les pbx dans la liste des librairies.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22