Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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 02-12-2013 11:19:02

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Migration 6.5 >> 11.5

Bonjour

je dois migrer une appli PB 6.5 eb PB 11.5

Dans la 6.5 les notions de workspace et target ne semblent pas exister (je cherche les .pbt .pbw et y en a pas)

donc je crée mon workspace et une target dans laquelle je charge toutes les pbl existantes

je les migre et après migration impossible d'ouvrir l'objet application il me dit que ce n'est l'application de la target en cours

mais si je donne a ma nouvelle target le nom d'une pbl existante il refuse également

je tourne en rond

merci pour votre aide

Dernière modification par remypb (02-12-2013 16:55:24)

Hors ligne

 

#2 02-12-2013 14:10:25

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Migration 6.5 >> 11.5

Salut,
   Qu'est ce que tu fais exactement ?

   
  Ok tu as créé ton workspace. Ensuite tu dois faire <New> puis dans l'onglet [Target] tu choisis <existing application>. Ensuite tu sélectionne la pbl dans laquelle existe l'objet application et tu clicques sur l'objet application ( Seules les PBL ayant un objet application ont le signe +) . Il doit te mettre la PBL dans une petite fenêtre ou tu peux ajouter tes autre PBL 6.5 une fois tout sélectionné, tu fais <next> il va te demander si tu veux effectuer la migration tu dis OUI et c'est parti.

PS : on travaille toujours sur une copie. Il faut avoir toute les PBL. tu dois au moins pouvoir ouvrir l'objet application. ensuite pour les autres objets, si il n'y a pas de code incompatible tu devrais pouvoir les ouvrir. 

Cdt
Yanis

Hors ligne

 

#3 02-12-2013 15:02:20

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

ca marche bien .... j'ai des errors mais rien de grave

merci

Hors ligne

 

#4 02-12-2013 15:41:27

_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: Migration 6.5 >> 11.5

petit rappel en passant
PB6.5: ANSI
PB11.5: Unicode
donc il va falloir vérifier tout tes appels à des fonctions externes qui utilisent des string

Hors ligne

 

#5 02-12-2013 16:59:49

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

La migration effectuée laisse 2 erreurs la 2ème étant une conséquence de la 1ère

Code: pb

 
---------- Compiler: Errors   (17:54:34)
-1- pfcmain.pbl(pfc_n_trp).2: Error       C0001: Illegal data type: transport
-2- pblmain.pbl(n_trp).2: Error       C0001: Illegal data type: pfc_n_trp
 ---------- Finished Errors   (17:54:34)


Ci dessous le début du Edit Source de l'objet pfc_n_trp

Code: pb

forward
global type pfc_n_trp from olestorage
end type
end forward

global type pfc_n_trp from transport
end type
global pfc_n_trp pfc_n_trp

or il n'existe aucun objet classe ou ancestor nommé transport

d'autres objets ont un ancestor non matérialisé mais ne pose aucun problème à la compil

comment résoudre cette erreur ? où dois je chercher cet "objet" transport ??
dois je modifier le EditSource en enlevant cette référence ?

merci pour votre aide

Dernière modification par remypb (04-12-2013 16:34:49)

Hors ligne

 

#6 02-12-2013 18:17:19

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

Re: Migration 6.5 >> 11.5

remypb a écrit:

or il n'existe aucun objet classe ou ancestor nommé transport

l'objet tranport a été retiré à partir de PB8, au grand dam de chrnico

NB :

Au passage, quitte à migrer, pourquoi ne pas prendre la dernière version de PB ?


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

Hors ligne

 

#7 03-12-2013 10:47:59

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Migration 6.5 >> 11.5

Salut,
    Oui les fonctions externe utilisant des string sont à vérifier mais normalement powerbuilder lors de la migration a du leur rajouter l'extension ALIAS  avec ;ANSI     ce qui normalement les rend compatible.

Pour l'objet transport ( voir la réponse de erasorz ) si tu ne l'utilise pas alors du doit le supprimer de la pbl :  PFC_N_TRP et N_TRP qui se trouvent respectivement dans pfcmain.pbl et pblmain.pbl

Cdt
Yanis

Hors ligne

 

#8 08-01-2014 15:32:17

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

Merci

j'ai retiré les objets suspects (n_trp et pfc_n_trp)

mais en version 11.5 quelle solution de substitution existe t il à cet objet TRANSPORT ???

Je suis obligé d'utiliser la version 11.5 et pas la dernière en date

Et comment faire de l'automation sans cet objet ?

merci d'avance

Dernière modification par remypb (08-01-2014 15:32:49)

Hors ligne

 

#9 08-01-2014 16:27:31

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Migration 6.5 >> 11.5

Salut,

    Ton application n'utilise pas les objest transport de Powerbuilder et je pense que tu n'en aura jamais l'utilité.

    Ce sont des objets distibués. ( des objets PB que l'on déployé sur une autre machine et que l'on pouvait exécuter à distance). C'était le début des architecture 3 Tiers.

    L'alternative est soit de migrer ces objets vers des serveurs d'applications tel Easerver ( anciennement Jaguar ) ou autre serveur d'appli ( Jboss, websphere.. )  ou d'effectuer le même type d'opération à l'aide de socket.


Cdt
Yanis

Hors ligne

 

#10 09-01-2014 15:52:09

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

Bonjour

J'ai réussi à faire la migration jusqu'au bout
- j'ai supprimé les objets liés à transport  PFC_N_TRP et N_TRP dans pfcmain.pbl et pblmain.pbldans
- j'ai corrigé les erreurrs bloquantes (il en restait 7)
- j'ai fait un Full Rebuild

Mais lorsque je lance mon appli, elle est super lente que ce soit au lancement lors de la connection depuis l'écran de connexion et lorsque je la quitte
j'ai fait du pas à pas (mode débug) et j'ai l'impression que les scripts commandes et event etc sont éxecutées dans les 2 versions mais qu'ils sont plus lents en 11.5
comment expliquer cette lenteur sous 11.5 alors que les mêmes actions sous la version 6.5 sont instantanées et qu'il s'agit du même code

Est ce que la différence ANSI/Unicode peut expliquer ce pb ?

je vois pas ce que cela peut être Heeeelp

merci d'avance

Hors ligne

 

#11 10-01-2014 10:07:27

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

ça marche pas c'est une tanée ce PB !!!!!!

la migration technique semble fonctionner mais lorsque je lance mon appli ou que j'en sors c'est la berezina

les temps de réaction sont ultra longs quand j'arrive par miracle à accéder au 1ers écrans (écran de connexion, menu principal) de l'appli mais ça plante PB 1 fois sur 2
- ouverture écran de connexion 4 min  20 sec !!!! (sous PB 6.5 la même action prend quelques secondes)
- saisie des identifiants clique sur OK affichage du menu >> message : Ne répond pas

dans le code, les registres sont beaucoup utilisés je suis sous windows 7 est ce lié ?

ce ne peut pas être un problème de connexion car l'affichage du 1er écran se fait avant

qu'est ce que cela peut être

faut il réécrire certaines parties de l'appli pour qu'elle marche normalement sur 11.5 ???

faut il supprimer les références aux registres ? faut il recréer les liens entre les objets et les pfc ????

une telle migration est elle réellement possible faisable viable ?

Hors ligne

 

#12 10-01-2014 12:36:57

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

Re: Migration 6.5 >> 11.5

tu as essayé de tracer précisément ce qui prend du temps ?


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

Hors ligne

 

#13 10-01-2014 12:40:19

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: Migration 6.5 >> 11.5

Est-ce que la machine "fait quelque chose" lorsque c'est lent, ou est-ce que ça attend sur la base ou sur autre chose ?
(Vérifiable avec process hacker, le task manager système ou toute autre application du genre)

Lorsque qu'un code est migré automatiquement d'un vieux PB vers pb 10+ effectivement les appels aux dll système sont adaptés à coup de ";ansi" mais vu que PB 10+ est unicode en interne, le ";ansi" a pour effet de convertir toutes les chaînes passées en argument de unicode -> ansi et inversement lors des retours ce qui est plutôt contre-performant, surtout que la plupart des fonctions système existent dans les 2 versions. Il faut retrouver le nom correct (souvent il suffit de remplacer un nom functionA en functionW)
(Edit:) il y a aussi toutes les fonctions PB de gestion de chaîne Len/Pos/Left/Mid/Right/... qui sont adaptées en LenA/PosA/LeftA/MidA/RightA/... et c'est aussi contre performant sur du PB moderne.

Sinon, le plus simple (personne n'y a pensé ? Edit: ah si Erasorz pendant que je rédigeais cette réponse ) est encore de demander toi même à PB où il passe du temps en profilant le code:
- Tools / system options / profiling : "enable profiling" + donner un nom de fichier de trace + cocher "clock" et au moins les 2 premières cases "routine entry/exit" et "routine line hits" et peut-être "object creation"
- exécuter ton appli, aller dans les fonctions qui posent problème (la trace rallonge un tout petit peu une éxécution "normale")
- quitter l'appli
- New / tool / profiling routine view et choisir la target

Le profiler demande un peu de temps pour s'y faire mais en gros sur la gauche tu as :
- au milieu, la procédure / fonction qui est analysée (ça commence par "system" à l'init)
- au dessus les routines appelées et au dessous les routines qui appellent la routine en cours. On peut cliquer dessus, à ce moment l'analyse se positionne sur la routine en question et rafraîchit les données.
- à gauche les temps ou le code source si dispo
   - self : le temps que la routine toute seule à pris
   - self+called : la routine + tout ce qui a été appelé indirectement
   - % la même chose mais en pourcentage du temps total

Dans le cas où tu affiches le source, tu as les même infos mais pour chaque ligne exécutée, et le nombre de fois que la ligne a été éxécutée (hits), utile dans les boucles.


Avec ça tu devrais pouvoir isoler un peu mieux ce qui pose problème.

Dernière modification par seki (13-01-2014 12:55:39)


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 13-01-2014 10:54:52

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

Bonjour

Merci beaucoup pour vos conseils je suis en train d'exploiter le profiler et ca me permet de voir où sont les bouchons

à première vue ce sont des fonctions string (lenA/posA etc) qui ralentissent entre autres

je voudrai  donc remplaces ces fonctions par des synonymes plus efficaces (lenA par LEN / PosA par Pos ....)

mais j'ai fait une recherche globale et ils sont légion dois je passer objet par objet ou y a t il un outil qui permette le replace global ?

je vais continuer à analyser les résultats de l'ouverture de l'applie et de la 1ère fenêtre pour valider mes 1eres conclusions

merci d'avance

Hors ligne

 

#15 13-01-2014 11:08:08

_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: Migration 6.5 >> 11.5

Tu as l'extension PB Tools qui te permet de faire un replace global

Site PBTools

Hors ligne

 

#16 13-01-2014 14:23:03

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

Re: Migration 6.5 >> 11.5

D'ailleurs quelqu'un aurait une version de Pbtools qui tourne bien avec Pb12.1?

Celle que j'ai télécharger sur le site me dis que ça fonctionne qu'avec 12.5 en me mettant des messagebox en pleine recherche....


Ps : D'ailleurs après essai dans un seul objet sur la fonctionnalité recherche de variable non utilisé (avec une petite variable string ls_unused), je confirme qu'il ne fonctionne pas.

Dernière modification par Van (13-01-2014 14:45:58)


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

Hors ligne

 

#17 14-01-2014 12:32:26

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

Bonjour

J'ai utilisé le profiler pour détecter les points qui ralentissent l'application. Ce sont essentiellement
- les fonctions string (LenA/PosA/MidA.... ) que j'ai remplacé en global (avec PBTools) par Len/Pos/Mid...
- l'appel aux registres (très souvent appelés)

Je n'utilise pas de fonctions windows particulières (global external functions) mais l'appli utilise pas mal les registres (je n'ai pas de conversion ";ansi" dans mon code

Et malgré cela l'appli est toujours aussi lente (je teste l'ouverture de la fenêtre principale)

quel peut être le problème ? est ce les registres ? pourquoi les fonctions string sont si lentes ?

Est ce que si je recrée un projet et des pbl avec PB 11.5 et que j'importe les .sr* cela pourrait corriger le problème

Il n'y a que des commandes et des syntaxes PB valables dans les 2 versions

D'ou peut provenir le problème ????

Merci pour vos lumières

Hors ligne

 

#18 16-01-2014 09:22:20

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

bonjour

y a personne pour me donner des pistes des idées des options ???

qu'est ce qui peut provoquer ce ralentissement ? faut tout réécrire en 11.5 ? est ce que quelqu'un a fait une migration semblable ???

Hors ligne

 

#19 16-01-2014 09:41:33

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Migration 6.5 >> 11.5

Salut,

    Un export et un import ne changeront rien.

    Moi j'ai déjà fait des migrations de ce type et je n'ai pas de souvenir de lenteur. As tu mis les derniers EBF de PB. Je te demande celà car j'ai souvenir qu'une version  de PB avais été mise à disposition par Sybase mais qu'elle faisait plusieurs fois la lecture des objets avant de les instancier ( je ne sais plus laquelle et je ne retrouve pas le doc ou je l'avais fait )  En fait il s'agissait selon les dires d'une version de test interne qui avait été mise à dispo par mégarde. Dans cette version celà était encore plus visible pour la lenteur lorsque les PBL se trouvaient sur le réseau et non sur le poste de développement.

    Tu es vraiment dans les mêmes conditions. Même type de poste , même base , même profil utilisateur etc...... , sources déployés au même endroit,   pas dans un répertoire spécifique géré par l'antivirus etc,etc....

    Pourquoi dis tu que les fonctions string sont si lente ?
   

Cdt
Yanis

Hors ligne

 

#20 16-01-2014 09:55:58

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

As tu mis les derniers EBF de PB

Comment savoir si ce sont les dernières ??? j'ai la version 11.5 Build 2506

Tu es vraiment dans les mêmes conditions

Je suis sur un poste qui est en Windows 7. Au niveau de la base et du profil j'en suis pas encore là j'ai fait mes tests sur le lancement de l'appli (menu <Run last Target>) et l'ouverture du menu principal et de la fenêtre de connexion user et c'est long
Les sources sont sur mon poste. Mon collègue qui a l'appli en 6.5 est sur Windows XP la lance c'est instantané
Est ce que Windows 7 peut être une explication ?

Pourquoi dis tu que les fonctions string sont si lente ?

Quand j'analyse le code avec le profiler de PB, j'ai les temps d'exécution de tous les scripts et donc des fonctions et je vois que des LEN des POS etc prennent plusieurs secondes

Je voudrais mettre une copie d'écran pour être explicite mais je sais pas comment le faire

Merci pour ton aide

Hors ligne

 

#21 16-01-2014 10:15:15

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

Re: Migration 6.5 >> 11.5

Donc c'est lent en mode dev. Et en mode exe ?

remypb a écrit:

Je voudrais mettre une copie d'écran pour être explicite mais je sais pas comment le faire

Tu héberges ton image sur un site dédié et tu utilises la balise [img]ou le bouton http://pbadonf.fr/forum/img/puntoolbar/smooth/bt_img_link.png


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

Hors ligne

 

#22 16-01-2014 10:38:46

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Migration 6.5 >> 11.5

J'ose même pas essayer en mode exe car je dois avant tester toute l'appli pour vérifier qu'on a rien perdu au passage et les tests en mode dev sont lamentables

J'ai vu sur le site sybase qu'il ya une EBF 11.5 SP01 PL11 (build 5097) en mai 2013 et qu'entre ma version et ce EBF de 2013 il y a 15 ou 16 versions
Je sais pas si je peux installer directement l'EBF 21406 (build 5097) de 05/2013 directement ou si je dois passer par toutes les étapes ?

à ton avis ?

Hors ligne

 

#23 16-01-2014 10:43:39

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

Re: Migration 6.5 >> 11.5

Bonjour,

La dernière version de Powerbuilder en série 11.5 est la 11.5.1.5097

J'utilise moi-même la version 11.5.1.4097 et je suis sous Windows 7, mon application est également en production sur des postes en Windows 7 sans aucun problème.

Je serais fort surpris que tes problèmes viennent des fonctions string.

Un piste, un programme fonctionnant sous Windows XP demande certaine adaptation pour fonctionner sous Windows 7 correctement due à l'UAC (Universal Account Control), tu ne peux pas écrire dans le répertoire Program Files ou dans la base de registre HKEY_LOCAL_MACHINE sans élévation de privilège même en étant connecté en tant qu'administrateur.

Tes lenteurs sont peut-être due à des tentatives d'écritures qui échouent ...

Hors ligne

 

#24 16-01-2014 10:45:02

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

Re: Migration 6.5 >> 11.5

Les EBF sont cumulatifs, tu peux donc installer la version la plus récente directement,
sans passer par les versions intermédiaires


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

Hors ligne

 

#25 16-01-2014 10:46:54

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

Re: Migration 6.5 >> 11.5

Tu appliques d'abord la maintenance release 11.5.1 pour passer en version 11.5.1 et ensuite tu appliques l'EBF 5097.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22