Pas de problème (pb), que du PowerBuilder (PB) ^^

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 10-12-2007 14:21:11

Sand  
Membre
Date d'inscription: 07-12-2007
Messages: 6
Pépites: 32
Banque: 0

PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

Bonjour,

J'utilise la fonction CREATE afin de créer dynamiquement des datawindow (type crosstab) lors du déroulement de mon application PB, et je rencontre le problème suivant : lorsque je récupère (avec DESCRIBE) la synthaxe de ma datawindow juste après l'avoir créée, la synthaxe n'est plus la même, la position d'une colonne n'est plus la même et elle se retrouve en dernière position alors qu'elle ne l'était pas auparavant...

J'aurai aimé savoir quelle en est la cause ? si quelqu'un avait déja rencontré ce problème ?

Merci

Sand.

Hors ligne

 

#2 10-12-2007 14:29:13

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

Bonjour sand,

En quelle version de PB et de SGBD es-tu?
Pourrais-tu nous montrer ton script?

(PS: avec les balises [ code=pb ] !)


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#3 10-12-2007 14:41:05

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

Salut
Il faut aussi savoir en quelle version est ta DW
Par exemple ta DW de base est en pb 6.5 et tu la recrées en pb 8


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#4 10-12-2007 15:01:44

Sand  
Membre
Date d'inscription: 07-12-2007
Messages: 6
Pépites: 32
Banque: 0

Re: PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

Je travaille en PB 6.5 (Build 1253) et sur SQL Server 7.

En fait dans le code il y a pas mal de choses de faite, le bout de code concerné est celui-ci :

Code: pb

// Test (1)
ls_test = sSyntax

i_dw.Create(sSyntax, sErr)
if sErr <> "" Then
  MessageBox("Erreur Création DW", sErr)
  i_dw.Show()
  Return
end if
i_Dw.SetTransObject(i_dw.i_tTrans)

// Test (2)
ls_test = i_dw.Describe("datawindow.syntax")

//Modification des attributs une fois la nouvelle DW créée
...

Lorsque je regarde les valeurs de la variable ls_test, je n'ai pas la même chose en (1) et en (2).
La synthaxe n'est pas très lisible si je le poste ici, et je ne sais pas si je peux attacher des fichiers au message si besoin ?

Sand

Hors ligne

 

#5 10-12-2007 15:25:42

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

La variable sSyntax est-elle initialisée par SyntaxFromSQL ou pas?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#6 10-12-2007 15:32:49

Sand  
Membre
Date d'inscription: 07-12-2007
Messages: 6
Pépites: 32
Banque: 0

Re: PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

Non, elle est récupérée avec Describe("datawindow.syntax") précédemment

Hors ligne

 

#7 10-12-2007 15:40:26

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

Il n'y a pas de modification de sSyntax entre le describe précédent et le Create dans ton script?
(du style: tu récupères la syntaxe d'une Grid et tu la modifies pour une crosstab)


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#8 10-12-2007 16:38:58

Sand  
Membre
Date d'inscription: 07-12-2007
Messages: 6
Pépites: 32
Banque: 0

Re: PB 6.5 - Syntaxe modifiée lors d'une création dynamique de datawindow

En fait, il s'agit d'une fenêtre qui permet de lancer l'affichage d'un état en fonction de ce que choisit un utilisateur dans une liste. Donc sur ma fenêtre j'ai un user-object dont le dataobject est chargé avec la datawindow correspondante au choix de l'utilisateur => Jusque là tout se passe bien (affichage et données correctes).

Par contre là ou ça se complique, c'est que l'utilisateur peut personnaliser son état (rendre visible ou invisible des colonnes)...et là cela met à jour la synthaxe de la datawindow qui est chargée dans le user object en fonction des choix de l'utilisateur.

J'ai mis en commentaire tout ce qui était effectué (modifications de colonnes visibles, ...) et j'ai fait le test en conservant uniquement la récupération de la synthaxe et ensuite recréant la dw : mais là j'arrive sur mon problème.

Code: pb

String  sSyntax, sErr, ls_test

sSyntax = i_dw.Describe("datawindow.syntax")

i_dw.Create(sSyntax, sErr)
if sErr <> "" Then
  MessageBox("Erreur Création DW", sErr)
  i_dw.Show()
  Return
end if
i_Dw.SetTransObject(i_dw.i_tTrans)

Je me demande si le fait que i_dw ne soit pas détruit ou réinitialisé avant le CREATE peut poser un problème ? (mais les données affichées par la suite sont quand même correcte).

Je vais continuer à regarder dans le détail ce que tu m'as indiqué foon, mais comme je met à jour la même dw, il n'y a pas de problème de style grid / crosstab...peut être plutôt au niveau du user-object.

Merci

Sand

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22