Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Scinder un executable WD

11 réponses
Avatar
Roumégou Eric
Bonjour
j'ai besoin de conseils sur la façon de procéder.

Mon utilisation de WinDev 14 tourne presque exclusivement autour d'un
seul projet. Il s'agit d'une plate-forme de gestion, un outil de back
office qui gère toutes mes opérations, sites internet etc ...

Ce projet devient très gros (400 MO) et est constitué de beaucoup
d'outils génériques. Il y a aussi beaucoup de traitements spécifiques à
chaque client (isolés dans une fenetre par clients) et c'est surtout
cela qui change sans arrêt (modifs, corrections, nouveaux dossiers) et
me forcent à faire des mises à jour par Live Update.

La mise en prod est super longue (près de 20 mn) et pour mes clients le
live update est très lourd (5mn peut être plus).

Donc je pensais isoler ma partie générique de ma partie spécifique en
utilisant les partages de procédures, classes etc ... dans le GDS et
avoir donc deux projets.
Je n'en veux pas plus car créer des projets est très long avec le gds
et les partages et une fenetre spécif doit me prendre 2 h pas plus.

Je continuerais depuis le 1er projet à appeler les fonctions
spécifiques si elles existent. (actuellement je teste l'existence d'une
fenêtre qui doit s'appeler avec le nom du dossier dedans).

Comment appeler et revenir d'un executable à un autre ? (jamais fait
ça)
Comment provoquer une mise à jour Live Update sur le spécifique alors
que c'est uniquement le général qui sera envoyé ?
Comment faire une prod de la partie spécifique sans toucher à la partie
générique ?
Enfin comment faire pour que cela ne soit pas trop lourd ? (le
composant me semble un peu lourdingue pour ça)


Oulah que de questions ! Mais je pense que certain d'entre vous ont
déjà adopté des organisations analogues. Merci de vos retours.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)

10 réponses

1 2
Avatar
Albert P.
"Roumégou Eric" a écrit dans le message de news:

Bonjour
j'ai besoin de conseils sur la façon de procéder.

Mon utilisation de WinDev 14 tourne presque exclusivement autour d'un seul
projet. Il s'agit d'une plate-forme de gestion, un outil de back office
qui gère toutes mes opérations, sites internet etc ...

Ce projet devient très gros (400 MO) et est constitué de beaucoup d'outils
génériques. Il y a aussi beaucoup de traitements spécifiques à chaque
client (isolés dans une fenetre par clients) et c'est surtout cela qui
change sans arrêt (modifs, corrections, nouveaux dossiers) et me forcent à
faire des mises à jour par Live Update.

La mise en prod est super longue (près de 20 mn) et pour mes clients le
live update est très lourd (5mn peut être plus).

Donc je pensais isoler ma partie générique de ma partie spécifique en
utilisant les partages de procédures, classes etc ... dans le GDS et avoir
donc deux projets.
Je n'en veux pas plus car créer des projets est très long avec le gds et
les partages et une fenetre spécif doit me prendre 2 h pas plus.

Je continuerais depuis le 1er projet à appeler les fonctions spécifiques
si elles existent. (actuellement je teste l'existence d'une fenêtre qui
doit s'appeler avec le nom du dossier dedans).

Comment appeler et revenir d'un executable à un autre ? (jamais fait ça)
Comment provoquer une mise à jour Live Update sur le spécifique alors que
c'est uniquement le général qui sera envoyé ?
Comment faire une prod de la partie spécifique sans toucher à la partie
générique ?
Enfin comment faire pour que cela ne soit pas trop lourd ? (le composant
me semble un peu lourdingue pour ça)


Oulah que de questions ! Mais je pense que certain d'entre vous ont déjà
adopté des organisations analogues. Merci de vos retours.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)






Bonjour,

Pour résoudre ce type de problématique, nous sommes passé par les
composants. Notre application principale est un squelette vide qui ne fait
qu'appeller les composants et ceux si ne sont pas intégré dans la dll du
projet principal.

Cela implique que les points d'entrées des composants doivent être le plus
figés possible (pour ne pas avoir à modifier le squelette à chaque fois)
Mais cela nous permet de personnaliser une partie de notre application en
créant une version personnalisée d'un composant.

Nous avons donc : le projet squelette ( 1mo compilé), un dizaine de projet
"composants principaux" (env 3 à 7mo) et une quinzaine de projets
"composant personnalisés" (taille tres variable) pour répondre à des
demandes spécifiques.

C'est un peu lourd à gérer lorsque l'on doit faire par exemple une
correction de bug dans les fonctionnalités communes à nos composants
personnalisé (il faut la faire dans tous) ... mais nous n'avons pas trouvé
de meilleure façon de scinder notre projet.

Bien entendu ... si quelqu'un à la solution ultime, elle m'interésse tout
autant qu'Eric Roumégou.

Bon dev,

Albert P.
Avatar
Firetox
Bonjour,


moi j'utilise les WDL.

un projet contient beaucoup de chose mais avec les configurations j'ai des
WDL qui sont generée assez facilement (on choisi la configuration et la WDL
est cree : en plus c'est plus rapide que faire un exe ou composant)

ensuite le projet principal lui charge les WDL qu'il a besoin donc en fait
l'exe est petit mais il ya des WDL et je n'ai pas l'inconvenient des
composants avec les mise a jours etc .. des version que windev demandent

meme mieux un WDL windev 12 peut être chargée comme ca dans windev 14 je
crois meme que l'inverse fonctionne a partir du moment ou on utilise pas
d'ordre que windev 12 ne connais pas

seule incovenient on peut voir ce qu'il a dedans : on peut connaitre les
noms des objets. (on voit pas le code mais comme les composant on eput voir
ce qu'il y adedans)

ensuite avec des WDL qui ont les meme chose dedans mais dans des versions
differentes on peut quand meme s'en sortir il suffit de charger la WDL quand
on a besoin et la decharger apres

voila
en resumé comme albert : petit exe car il n'y a presque rien dans le projet
et suivant les parametres chargement des WDL necessaires ou a volonté quand
on en a besoin. et lors de la reprise des projet ou passage en version
superieur je me retape pas tous les composant (c'est pour cela que j'ai
abandonné les composants)

Bon dev
@+
Avatar
Firetox
Bonjour,


moi j'utilise les WDL.

un projet contient beaucoup de choses mais avec les configurations j'ai des
WDL qui sont generées assez facilement (on choisi la configuration et la WDL
est créée : en plus c'est plus rapide que faire un exe ou composant)

ensuite le projet principal lui charge les WDL qu'il a besoin donc en fait
l'exe est petit mais il ya des WDL et je n'ai pas l'inconvenient des
composants avec les mises a jours etc .. des versions que windev demandent

meme mieux un WDL windev 12 peut être chargée comme ca dans windev 14 je
crois meme que l'inverse fonctionne a partir du moment ou on utilise pas
d'ordres que windev 12 ne connais pas

seul incovenient on peut voir ce qu'il a dedans : on peut connaitre les
noms des objets. (on voit pas le code mais comme les composants on eput voir
ce qu'il y a dedans)

ensuite avec des WDL qui ont les memes choses dedans mais dans des versions
differentes on peut quand meme s'en sortir il suffit de charger la WDL quand
on a besoin et la decharger apres

voila
en resumé comme albert : petit exe car il n'y a presque rien dans le projet
et suivant les parametres chargement des WDL necessaires ou a volonté quand
on en a besoin. et lors de la reprise des projets ou passage en version
superieure je me retape pas tous les composants (c'est pour cela que j'ai
abandonné les composants)

Bon dev
@+
Avatar
Daireaux Jean-Baptiste
Bonjour,

Nous aussi nous utilisons les WDL, je les trouves super simple d'emploi.
Nous avons externalisé toute les WDL, donc notre EXE est microscopique.
Avec les fichier WDU, on maintient leur contenu.

J.B.D.
Avatar
Albert P.
"Firetox" a écrit dans le message de news:
4acee97e$0$10067$
Bonjour,


moi j'utilise les WDL.

un projet contient beaucoup de choses mais avec les configurations j'ai
des
WDL qui sont generées assez facilement (on choisi la configuration et la
WDL
est créée : en plus c'est plus rapide que faire un exe ou composant)

ensuite le projet principal lui charge les WDL qu'il a besoin donc en fait
l'exe est petit mais il ya des WDL et je n'ai pas l'inconvenient des
composants avec les mises a jours etc .. des versions que windev demandent

meme mieux un WDL windev 12 peut être chargée comme ca dans windev 14 je
crois meme que l'inverse fonctionne a partir du moment ou on utilise pas
d'ordres que windev 12 ne connais pas

seul incovenient on peut voir ce qu'il a dedans : on peut connaitre les
noms des objets. (on voit pas le code mais comme les composants on eput
voir
ce qu'il y a dedans)

ensuite avec des WDL qui ont les memes choses dedans mais dans des
versions
differentes on peut quand meme s'en sortir il suffit de charger la WDL
quand
on a besoin et la decharger apres

voila
en resumé comme albert : petit exe car il n'y a presque rien dans le
projet
et suivant les parametres chargement des WDL necessaires ou a volonté
quand
on en a besoin. et lors de la reprise des projets ou passage en version
superieure je me retape pas tous les composants (c'est pour cela que j'ai
abandonné les composants)

Bon dev
@+





Pas mal aussi, par contre, dans un projet WD14, on utilise sans problème un
composant WD10 (l'inverse n'est surement pas possible )


Albert P.
Avatar
Firetox
Bonjour,

Pas mal aussi, par contre, dans un projet WD14, on utilise sans problème
un composant WD10 (l'inverse n'est surement pas possible )



je viens de faire le test avec un WDL windev 12 charge dans windev 7.5 et
cela fonctionne
comme il s'agit de SQLManagerX il n'y a aucun ordres dans la wdl que windev
7.5 ne connait pas donc cela passe sans problemes



Albert P.


Avatar
Roumégou Eric
Le 09/10/2009, Daireaux Jean-Baptiste a supposé :
Bonjour,

Nous aussi nous utilisons les WDL, je les trouves super simple d'emploi.
Nous avons externalisé toute les WDL, donc notre EXE est microscopique.
Avec les fichier WDU, on maintient leur contenu.

J.B.D.



Merci de vos réponses.
et pour génrer les WDL, on part d'un seul et mème projet ? ou on a
plusieurs projets ?

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Firetox
oups non ca marche pas j'ai merdé sur mes projet en fait la wdl est une 7.5
donc voila pourquoi ca marche
mais si je met un 12 ca marche plus

desoled


"Firetox" a écrit dans le message de
news:4acef594$0$22901$
Bonjour,

Pas mal aussi, par contre, dans un projet WD14, on utilise sans problème
un composant WD10 (l'inverse n'est surement pas possible )



je viens de faire le test avec un WDL windev 12 charge dans windev 7.5 et
cela fonctionne
comme il s'agit de SQLManagerX il n'y a aucun ordres dans la wdl que
windev 7.5 ne connait pas donc cela passe sans problemes



Albert P.





Avatar
Daireaux Jean-Baptiste
Roumégou Eric a écrit :
Le 09/10/2009, Daireaux Jean-Baptiste a supposé :
Bonjour,

Nous aussi nous utilisons les WDL, je les trouves super simple d'emploi.
Nous avons externalisé toute les WDL, donc notre EXE est microscopique.
Avec les fichier WDU, on maintient leur contenu.

J.B.D.



Merci de vos réponses.
et pour génrer les WDL, on part d'un seul et mème projet ? ou on a
plusieurs projets ?




Chez nous, les WDL viennent du même projet. mais je ne vois pas de
contrainte au fait qu'elles viennent de différant projet (faut surement
faire attention au var global d'on elle ont besoin, et au analyse utilisé.)

J.B.D.
Avatar
Firetox
Bonjour
Chez nous, les WDL viennent du même projet. mais je ne vois pas de
contrainte au fait qu'elles viennent de différant projet (faut surement
faire attention au var global d'on elle ont besoin, et au analyse
utilisé.)

J.B.D.



si des elements communs a la WDL et au projet sont presents ce sont ceux du
projet actif qui sont prix
par exemple une classe dans la WDL et la meme dans le projet mais dans la
WDL une version plus recente : la classe prise en compte est celle du projet
meme pour les elements de la WDL
1 2