Bonjour à tous,
Je débute la migration d'un projet de WD55 vers WD75.
J'ai du mal à comprendre la raison pour laquelle pcsoft a changé la portée
des variables globales (ou alors je n'ai pas tout compris...).
Apparemment, il faut reprendre toutes les déclarations de variables globales
du projet pour les remonter dans le code d'initialisation du projet ou de la
fenêtre (mais dans ce dernier cas, ces variable ne seront pas accessibles
des autres fenêtres).
Le travail est énorme et va tripler le temps nécessaire à la migration,
dommage, et pour quelle raison, si qq sait, ca m'interesse.
Pour le moment, j'aimerai savoir s'il existe un moyen de transférer
automatiquement toutes les procédures locales d'une fenêtre dans une
collection (les variables globales déclarées dans le code d'initialisation
d'une collection semblent accessible par tout le projet).
Bonjour à tous,
Je débute la migration d'un projet de WD55 vers WD75.
J'ai du mal à comprendre la raison pour laquelle pcsoft a changé la portée
des variables globales (ou alors je n'ai pas tout compris...).
Apparemment, il faut reprendre toutes les déclarations de variables globales
du projet pour les remonter dans le code d'initialisation du projet ou de la
fenêtre (mais dans ce dernier cas, ces variable ne seront pas accessibles
des autres fenêtres).
Le travail est énorme et va tripler le temps nécessaire à la migration,
dommage, et pour quelle raison, si qq sait, ca m'interesse.
Pour le moment, j'aimerai savoir s'il existe un moyen de transférer
automatiquement toutes les procédures locales d'une fenêtre dans une
collection (les variables globales déclarées dans le code d'initialisation
d'une collection semblent accessible par tout le projet).
Bonjour à tous,
Je débute la migration d'un projet de WD55 vers WD75.
J'ai du mal à comprendre la raison pour laquelle pcsoft a changé la portée
des variables globales (ou alors je n'ai pas tout compris...).
Apparemment, il faut reprendre toutes les déclarations de variables globales
du projet pour les remonter dans le code d'initialisation du projet ou de la
fenêtre (mais dans ce dernier cas, ces variable ne seront pas accessibles
des autres fenêtres).
Le travail est énorme et va tripler le temps nécessaire à la migration,
dommage, et pour quelle raison, si qq sait, ca m'interesse.
Pour le moment, j'aimerai savoir s'il existe un moyen de transférer
automatiquement toutes les procédures locales d'une fenêtre dans une
collection (les variables globales déclarées dans le code d'initialisation
d'une collection semblent accessible par tout le projet).
"JPN" a écrit:
> Bonjour à tous,
>
> Je débute la migration d'un projet de WD55 vers WD75.
Aïe aïe aïe...:-)
> J'ai du mal à comprendre la raison pour laquelle pcsoft a changé la
> des variables globales (ou alors je n'ai pas tout compris...).
Il y a des petites différences (notion de collections) mais la portée
des globales du projet reste la même...globale au projet.
> Apparemment, il faut reprendre toutes les déclarations de variables
> du projet pour les remonter dans le code d'initialisation du projet ou
> fenêtre (mais dans ce dernier cas, ces variable ne seront pas
> des autres fenêtres).
> Le travail est énorme et va tripler le temps nécessaire à la migration,
> dommage, et pour quelle raison, si qq sait, ca m'interesse.
Bizarre, je viens de faire le test (WD7.5 205s), les globales du projet
en WD55 sont automatiquement transférées en globales du projet WD75
migré. Fausse manip de ta part ?
> Pour le moment, j'aimerai savoir s'il existe un moyen de transférer
> automatiquement toutes les procédures locales d'une fenêtre dans une
> collection (les variables globales déclarées dans le code
> d'une collection semblent accessible par tout le projet).
Pourquoi veux-tu transférer les procédures locales ?
(pour cela, j'ai bien peur qu'il faille les copier-coller une par
une...)
Pour ce qui est des globales déclarées dans le code d'initialisation
d'une collection, elles ne sont pas accessibles dans tout le projet
_directement_ (sauf dans les procédures de la collection elle-même) :
comme pour tout "objet" WD7.5 (fenetre, classe, collection, etat...) il
faut les manipuler en précisant le nom de l'objet parent (exemple :
MaCollection.MaGlobale).
A+
--
Romain Petit
"JPN" <jpn@abtel.fr.nospam> a écrit:
> Bonjour à tous,
>
> Je débute la migration d'un projet de WD55 vers WD75.
Aïe aïe aïe...:-)
> J'ai du mal à comprendre la raison pour laquelle pcsoft a changé la
> des variables globales (ou alors je n'ai pas tout compris...).
Il y a des petites différences (notion de collections) mais la portée
des globales du projet reste la même...globale au projet.
> Apparemment, il faut reprendre toutes les déclarations de variables
> du projet pour les remonter dans le code d'initialisation du projet ou
> fenêtre (mais dans ce dernier cas, ces variable ne seront pas
> des autres fenêtres).
> Le travail est énorme et va tripler le temps nécessaire à la migration,
> dommage, et pour quelle raison, si qq sait, ca m'interesse.
Bizarre, je viens de faire le test (WD7.5 205s), les globales du projet
en WD55 sont automatiquement transférées en globales du projet WD75
migré. Fausse manip de ta part ?
> Pour le moment, j'aimerai savoir s'il existe un moyen de transférer
> automatiquement toutes les procédures locales d'une fenêtre dans une
> collection (les variables globales déclarées dans le code
> d'une collection semblent accessible par tout le projet).
Pourquoi veux-tu transférer les procédures locales ?
(pour cela, j'ai bien peur qu'il faille les copier-coller une par
une...)
Pour ce qui est des globales déclarées dans le code d'initialisation
d'une collection, elles ne sont pas accessibles dans tout le projet
_directement_ (sauf dans les procédures de la collection elle-même) :
comme pour tout "objet" WD7.5 (fenetre, classe, collection, etat...) il
faut les manipuler en précisant le nom de l'objet parent (exemple :
MaCollection.MaGlobale).
A+
--
Romain Petit
"JPN" a écrit:
> Bonjour à tous,
>
> Je débute la migration d'un projet de WD55 vers WD75.
Aïe aïe aïe...:-)
> J'ai du mal à comprendre la raison pour laquelle pcsoft a changé la
> des variables globales (ou alors je n'ai pas tout compris...).
Il y a des petites différences (notion de collections) mais la portée
des globales du projet reste la même...globale au projet.
> Apparemment, il faut reprendre toutes les déclarations de variables
> du projet pour les remonter dans le code d'initialisation du projet ou
> fenêtre (mais dans ce dernier cas, ces variable ne seront pas
> des autres fenêtres).
> Le travail est énorme et va tripler le temps nécessaire à la migration,
> dommage, et pour quelle raison, si qq sait, ca m'interesse.
Bizarre, je viens de faire le test (WD7.5 205s), les globales du projet
en WD55 sont automatiquement transférées en globales du projet WD75
migré. Fausse manip de ta part ?
> Pour le moment, j'aimerai savoir s'il existe un moyen de transférer
> automatiquement toutes les procédures locales d'une fenêtre dans une
> collection (les variables globales déclarées dans le code
> d'une collection semblent accessible par tout le projet).
Pourquoi veux-tu transférer les procédures locales ?
(pour cela, j'ai bien peur qu'il faille les copier-coller une par
une...)
Pour ce qui est des globales déclarées dans le code d'initialisation
d'une collection, elles ne sont pas accessibles dans tout le projet
_directement_ (sauf dans les procédures de la collection elle-même) :
comme pour tout "objet" WD7.5 (fenetre, classe, collection, etat...) il
faut les manipuler en précisant le nom de l'objet parent (exemple :
MaCollection.MaGlobale).
A+
--
Romain Petit
Quelques précisions :
Le gros changement (apparemment) est qu'en WD55, tu pouvais déclarer
une variable globale à n'importe quel moment et que celle-ci avait
alors une portée globale pour tout le code appelé en aval de la
déclaration...
Maintenant ce n'est plus possible. J'utilise une
fenêtre qui contient toutes les procédures de l'appli et je fais un
chargeprocedurede la fenetre en début de projet.
Tu imagines...
Toutes les déclaration globales des procédures contenues dans la
fenetre se retrouvent maintenant dans le code d'initialisation de la
fenêtre qui en plus n'est jamais executée en elle-même... C'est pour
cette raison que je veux transférer ces procédures (locales pour la
fenetre) dans une collection, solution plus 'propre en WD7).
Quelques précisions :
Le gros changement (apparemment) est qu'en WD55, tu pouvais déclarer
une variable globale à n'importe quel moment et que celle-ci avait
alors une portée globale pour tout le code appelé en aval de la
déclaration...
Maintenant ce n'est plus possible. J'utilise une
fenêtre qui contient toutes les procédures de l'appli et je fais un
chargeprocedurede la fenetre en début de projet.
Tu imagines...
Toutes les déclaration globales des procédures contenues dans la
fenetre se retrouvent maintenant dans le code d'initialisation de la
fenêtre qui en plus n'est jamais executée en elle-même... C'est pour
cette raison que je veux transférer ces procédures (locales pour la
fenetre) dans une collection, solution plus 'propre en WD7).
Quelques précisions :
Le gros changement (apparemment) est qu'en WD55, tu pouvais déclarer
une variable globale à n'importe quel moment et que celle-ci avait
alors une portée globale pour tout le code appelé en aval de la
déclaration...
Maintenant ce n'est plus possible. J'utilise une
fenêtre qui contient toutes les procédures de l'appli et je fais un
chargeprocedurede la fenetre en début de projet.
Tu imagines...
Toutes les déclaration globales des procédures contenues dans la
fenetre se retrouvent maintenant dans le code d'initialisation de la
fenêtre qui en plus n'est jamais executée en elle-même... C'est pour
cette raison que je veux transférer ces procédures (locales pour la
fenetre) dans une collection, solution plus 'propre en WD7).
> Comment fais-tu cela ??
J'ai du mal à comprendre pourquoi ce type de codage a été choisi...
(mailto:rompetit_chez_ifrance.com)
> Comment fais-tu cela ??
J'ai du mal à comprendre pourquoi ce type de codage a été choisi...
(mailto:rompetit_chez_ifrance.com)
> Comment fais-tu cela ??
J'ai du mal à comprendre pourquoi ce type de codage a été choisi...
(mailto:rompetit_chez_ifrance.com)
j'utilise :
Les variables globales déclarées dans un traitement peuvent être utilisées
dans tous les traitements appelés après le traitement dans lesquelles elles
ont été déclarées.
et çà c'est plus possible en WD7 (je trouve même que c'est une grosse
regression)...
> J'ai du mal à comprendre pourquoi ce type de codage a été choisi...
je ne sais pas non plus, mais imposé par la société pour laquelle je
travaille...
je pense qu'au début du développement celà etait plus simple que de creer
des classes (le projet est en fait divisé en plusieurs petits projets qui
ont chacun leur fenetre de procédures spécifique)
j'utilise :
Les variables globales déclarées dans un traitement peuvent être utilisées
dans tous les traitements appelés après le traitement dans lesquelles elles
ont été déclarées.
et çà c'est plus possible en WD7 (je trouve même que c'est une grosse
regression)...
> J'ai du mal à comprendre pourquoi ce type de codage a été choisi...
je ne sais pas non plus, mais imposé par la société pour laquelle je
travaille...
je pense qu'au début du développement celà etait plus simple que de creer
des classes (le projet est en fait divisé en plusieurs petits projets qui
ont chacun leur fenetre de procédures spécifique)
j'utilise :
Les variables globales déclarées dans un traitement peuvent être utilisées
dans tous les traitements appelés après le traitement dans lesquelles elles
ont été déclarées.
et çà c'est plus possible en WD7 (je trouve même que c'est une grosse
regression)...
> J'ai du mal à comprendre pourquoi ce type de codage a été choisi...
je ne sais pas non plus, mais imposé par la société pour laquelle je
travaille...
je pense qu'au début du développement celà etait plus simple que de creer
des classes (le projet est en fait divisé en plusieurs petits projets qui
ont chacun leur fenetre de procédures spécifique)
> Oui, mais concretement ?
Tu charges une fenetre invisible contenant ces variables et elles sont
directement accessibles ensuite dans tout le projet ?
> et çà c'est plus possible en WD7 (je trouve même que c'est une
> grosse regression)...
Pas moi.
L'optique plus "objet" de WD7 est d'une bien meilleure approche que
les bricolages de WD55, surtout pour la réutilisation d'un code
existant. Par contre tu peux toujours accéder aux variables de ta
fenetre (chargée au démarrage du projet, ou même il me semble que ce
n'est pas obligatoire de la charger explicitement) en utilisant à
n'importe quel endroit du projet:
SI MaFenetre.MaVariableBooléenne = vrai ALORS
MaFenetre.MavariableChaine = "toto"
FIN
> > J'ai du mal à comprendre pourquoi ce type de codage a été
> > choisi...
> je ne sais pas non plus, mais imposé par la société pour laquelle je
> travaille... je pense qu'au début du développement celà etait plus
> simple que de creer des classes (le projet est en fait divisé en
> plusieurs petits projets qui ont chacun leur fenetre de procédures
> spécifique)
Oui, je vois :-)
Pour ton problème, une suggestion (attention, sauvegarde tes projets
avant de tenter ce qui suit, je ne sais pas si les dicos en WD7.5 sont
complêtement opérationnels même avec la 205s), as-tu essayé à partir
du projet WD55 de créer des dictionnaires puis de les migrer en WD75 ?
--
Romain Petit
> Oui, mais concretement ?
Tu charges une fenetre invisible contenant ces variables et elles sont
directement accessibles ensuite dans tout le projet ?
> et çà c'est plus possible en WD7 (je trouve même que c'est une
> grosse regression)...
Pas moi.
L'optique plus "objet" de WD7 est d'une bien meilleure approche que
les bricolages de WD55, surtout pour la réutilisation d'un code
existant. Par contre tu peux toujours accéder aux variables de ta
fenetre (chargée au démarrage du projet, ou même il me semble que ce
n'est pas obligatoire de la charger explicitement) en utilisant à
n'importe quel endroit du projet:
SI MaFenetre.MaVariableBooléenne = vrai ALORS
MaFenetre.MavariableChaine = "toto"
FIN
> > J'ai du mal à comprendre pourquoi ce type de codage a été
> > choisi...
> je ne sais pas non plus, mais imposé par la société pour laquelle je
> travaille... je pense qu'au début du développement celà etait plus
> simple que de creer des classes (le projet est en fait divisé en
> plusieurs petits projets qui ont chacun leur fenetre de procédures
> spécifique)
Oui, je vois :-)
Pour ton problème, une suggestion (attention, sauvegarde tes projets
avant de tenter ce qui suit, je ne sais pas si les dicos en WD7.5 sont
complêtement opérationnels même avec la 205s), as-tu essayé à partir
du projet WD55 de créer des dictionnaires puis de les migrer en WD75 ?
--
Romain Petit
> Oui, mais concretement ?
Tu charges une fenetre invisible contenant ces variables et elles sont
directement accessibles ensuite dans tout le projet ?
> et çà c'est plus possible en WD7 (je trouve même que c'est une
> grosse regression)...
Pas moi.
L'optique plus "objet" de WD7 est d'une bien meilleure approche que
les bricolages de WD55, surtout pour la réutilisation d'un code
existant. Par contre tu peux toujours accéder aux variables de ta
fenetre (chargée au démarrage du projet, ou même il me semble que ce
n'est pas obligatoire de la charger explicitement) en utilisant à
n'importe quel endroit du projet:
SI MaFenetre.MaVariableBooléenne = vrai ALORS
MaFenetre.MavariableChaine = "toto"
FIN
> > J'ai du mal à comprendre pourquoi ce type de codage a été
> > choisi...
> je ne sais pas non plus, mais imposé par la société pour laquelle je
> travaille... je pense qu'au début du développement celà etait plus
> simple que de creer des classes (le projet est en fait divisé en
> plusieurs petits projets qui ont chacun leur fenetre de procédures
> spécifique)
Oui, je vois :-)
Pour ton problème, une suggestion (attention, sauvegarde tes projets
avant de tenter ce qui suit, je ne sais pas si les dicos en WD7.5 sont
complêtement opérationnels même avec la 205s), as-tu essayé à partir
du projet WD55 de créer des dictionnaires puis de les migrer en WD75 ?
--
Romain Petit