Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
nous développons une application avec PowerBuilder 12.5.1 b4015.
Nous développons pour fonctionner avec SQL Server ou Oracle.
Notre application est déployée au sein d'un répertoire unique qui contient tous les fichiers nécessaires à son fonctionnement : exe, pbd, dll, fichiers images, ...
Elle n'a donc pas besoin de référencement dans le path.
Nous rencontrons chez un de nos clients un bug très étrange.
Ils ont un poste Win Server 2008, FW .Net 4.0.
C'est un serveur sur lequel ils font du déploiement Citrix.
En lançant l'application, ils obtiennent un message "Application défaillante ..., module défaillant PBSHR125.dll, horodatage, ..."
En installant en local l'application, ça se passe très bien.
En regardant sur le .Net, j'ai vu que Sybase préconisait de modifier un paramètre de sécurité en cas d'utilisation du FW .Net 2.0. Mais ce n'est pas leur cas.
De même, j'ai trouvé une discussion sur un newsgroup parlant d'icône native PB à utiliser en lieu et place d'icônes dédiées :
"I was able to figure out why the executable is crashing. It is because of the mdi menu object w/c has external icons (file based). I replaced those icons by the PB built-in icons and the executable is now running smoothly.
I did a trial and error, an experiment just to solve this prob."
Nous utilisons des images PB dans nos menus, aussi je ne pense pas que ce soit ça.
Est-ce que quelqu'un a une idée ?
Par avance, merci.
Dernière modification par RAZORBACK (25-01-2013 16:41:40)
Hors ligne
Bonsoir à tous,
je ne sais pas encore si nous avons trouvé la solution, mais les DW dont le nom dépasse les 40 caractères font planter l'IDE PowerBuilder et également l'appli compilée.
En PB 11.5, ça provoque un message PBSHR115.dll, donc il est probable que ce soit le même module qui soit en cause sur PB12.5.
Il se trouve que nous avions 6 cas de ce type dans notre application.
Nous n'avons pas encore déployé chez notre client, mais il se pourrait que ce soit la solution.
Je tiendrai le forum informé du résultat.
Bon week-end.
Hors ligne
merci pour l'info
Hors ligne
de ton retour
RAZORBACK a écrit:
les DW dont le nom dépasse les 40 caractères font planter l'IDE PowerBuilder et également l'appli compilée.
Oui, nous avions également remarqué cela il y a qq années...
Hors ligne
Salut,
C'est juste pour comprendre. Moi dans les différentes version de PB ( 10 , 11 , 12 ) que j'ai, je suis bloqué à 40 caractères pour le nommage de mes objets ( objets dw , control dw , window , bouton etc.... )
De plus c'est dans la documentation de PB.
Règles applicables aux descripteurs:
· Doit commencer par une lettre ou un tiret bas (_)
· Vous ne pouvez pas être des mots réservés (voir "Mots réservés")
· Peut contenir jusqu'à 40 caractères mais pas d'espaces
· Ne sont pas sensibles à la casse (PARTIE, partie, et une partie sont identiques)
· Peut contenir une combinaison de lettres, de chiffres et ces caractères spéciaux:
- Dash
_ trait de soulignement
Signe $ Dollar
# Nombre signe
Signe pourcentage%
Si tu as plus d'info merci pour ton retour
Cdt
Yanis
Hors ligne
Yanis a écrit:
C'est juste pour comprendre. Moi dans les différentes version de PB ( 10 , 11 , 12 ) que j'ai, je suis bloqué à 40 caractères pour le nommage de mes objets ( objets dw , control dw , window , bouton etc.... )
Bizarre, je viens de faire le test : enregistrer une DW avec un nom de plus de 40 caractères et PB n'a pas bronché...
Hors ligne
Salut,
Effectivement dans une version 12.5 j'ai la possibilité d'aller au delà des 40 caractères.
Cdt
Yanis
Hors ligne
Yanis a écrit:
Salut,
C'est juste pour comprendre. Moi dans les différentes version de PB ( 10 , 11 , 12 ) que j'ai, je suis bloqué à 40 caractères pour le nommage de mes objets ( objets dw , control dw , window , bouton etc.... )
De plus c'est dans la documentation de PB.
Règles applicables aux descripteurs:
· Doit commencer par une lettre ou un tiret bas (_)
· Vous ne pouvez pas être des mots réservés (voir "Mots réservés")
· Peut contenir jusqu'à 40 caractères mais pas d'espaces
· Ne sont pas sensibles à la casse (PARTIE, partie, et une partie sont identiques)
· Peut contenir une combinaison de lettres, de chiffres et ces caractères spéciaux:
- Dash
_ trait de soulignement
Signe $ Dollar
# Nombre signe
Signe pourcentage%
J'ai l'impression qu'avec erasorz vous parlez de 2 choses différentes :
- le nom d'une datawindow (ou fenêtre, userobject, fonction, qui se traduit par un objet dans une pbl quand on enregistre sous)
- le nom d'un variable contenant le nom d'une datawindow (ou d'un contrôle quand on passe par le champ name dans les propriétés, et qui se traduit par un nom de variable dans le code source)
Les spécifications reprises ci-dessus concernent les noms de variables dans le code (page "identifier names" dans la doc en anglais)
Apparement le nom d'une variable ne pourrait pas faire plus de 40 caractères (je n'avais jamais atteint cette limite) mais le nom d'une DW peut faire plus.
Ceci dit, je viens de tester en PB11.5.1 et j'arrive à déclarer des variables avec un nom > 40 chars Il est possible que cette limitation ait simplement été reprise d'une version précédente sans avoir été mise à jour; ce ne serait pas la première fois que la doc raconte des couenneries.
string a12345678901234567890123456789012345678901234567890 = "42"
Dernière modification par seki (26-11-2012 14:36:18)
Hors ligne
Salut,
Je pense que l'on parle de la même chose mais au départ je ne savais pas si RAZORBACK parlait vraiment d'un objet dw ou d'un control dw, c'est pourquoi j'ai ajouté cette petite info sur le nom des descripteurs ( ou control ) et je parlais pas des noms de variable. mais je viens encore de tester sur 4 version que j'ai (10,11,12 , 12.5 ) seule la version 12.5 que je n'avais pas testé la premières fois ( par fainéantise car elle est installée dans une machine virtuelle sortir mon disk externe etc... ) m'autorise des noms d'objets ou de controles > 40.
Cdt
Yanis
Hors ligne
Bonjour,
De souvenir, j'ai déjà eu ce problème, on peut parfaitement avoir des objets ou des variables d'une longueur de plus de 40 caractères.
Mais à l’exécution, Powerbuilder travaille seulement avec les 40 premiers caractères pour distinguer les objets ou variables.
L'existence de plusieurs objets ou variables avec une racine de 40 caractères identiques provoque des résultats inattendus.
Hors ligne
Pourtant ce code (naïf) fonctionne (en compilé et en p-code)
string a123456789012345678901234567890123456789012 = "123" string a12345678901234567890123456789012345678901234567890 = "42" a123456789012345678901234567890123456789012 = "111" a12345678901234567890123456789012345678901234567890 = "222" messagebox("var", a123456789012345678901234567890123456789012 & + '/' + a12345678901234567890123456789012345678901234567890 & + '/' + a123456789012345678901234567890123456789012) /* Résultat : --------------------------- var --------------------------- 111/222/111 --------------------------- OK --------------------------- */
Mais il y a peut-être des problèmes ailleurs...
Hors ligne
erasorz a écrit:
Bizarre, je viens de faire le test : enregistrer une DW avec un nom de plus de 40 caractères et PB n'a pas bronché...
Cela dit, en voulant vérifier ce que disait buck, j'ai repris la DW et fait un save as... et là PB se vautre lamentablement
Hors ligne
Bonsoir à tous,
pour info, la modification des noms de control DW de plus de 40 caractères (en se limitant à 40) a fonctionné et nous a permis de déployer.
Merci à tous pour les échanges en tout cas.
Hors ligne
Petit ajout : nous avons eu également un cas de ce type tout récemment suite à l'ajout de fichiers images dont le nom dépasse les 40 caractères.
Sur certains postes, ça fonctionne parfaitement, sur d'autres (Windows 7, mais pas tous les Windows 7), l'application ne se lance même pas.
A bon entendeur...
Hors ligne
RAZORBACK a écrit:
Petit ajout : nous avons eu également un cas de ce type tout récemment suite à l'ajout de fichiers images dont le nom dépasse les 40 caractères.
Sur certains postes, ça fonctionne parfaitement, sur d'autres (Windows 7, mais pas tous les Windows 7), l'application ne se lance même pas.
A bon entendeur...
petite question bête
le nom des fichiers images c'est avec ou sans répertoire ?
merci
Hors ligne
_francois_ a écrit:
petite question bête
le nom des fichiers images c'est avec ou sans répertoire ?
merci
je suppose que c'est uniquement le nom, vu qu'avec les chemins les 40 caractères sont vite atteints...
Hors ligne
erasorz a écrit:
_francois_ a écrit:
petite question bête
le nom des fichiers images c'est avec ou sans répertoire ?
mercije suppose que c'est uniquement le nom, vu qu'avec les chemins les 40 caractères sont vite atteints...
ça me paraîtrait logique aussi mais on en sait jamais.
mais au cas où j'ai fait la chasse chez nous et raccourci certains noms de répertoires (et thank god pour pbtools et son global replace)
Hors ligne
_francois_ a écrit:
(et thank god pour pbtools et son global replace)
mouais, encore une fonctionnalité qui devrait être incluse dans PB (je ne pense pas que ça leur ferait une charge de dev énormissime)
Hors ligne