PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Problème lors de la modification des fichiers de données
Problème lors de la modification des fichiers de données
Débuté par levolutionniste, 14 mar. 2017 11:31 - 9 réponses
Membre enregistré
62 messages
Popularité : +11 (13 votes)
Posté le 14 mars 2017 - 11:31
Bonjour,
Suite à une modification de l'analyse, je génère une nouveau setup que je compte alors mettre à jour chez le client. Le problème que je rencontre est le suivant:

Parfois le wizard d'installation généré ne me propose pas, durant l'installation, la modification des fichiers de données. Ceci pratiquement une fois sur deux. Et pourtant dans la configuration du projet plus précisément de l'installeur j'ai coché les cases Exécuter la modification automatique des fichiers de données sous options d'installation dans l'éditeur WDinstall (menu Outils->WDinst->Paramètres d'installation->Fichiers HyperfileSQL).
(L'upload de la screenshot ne cesse d'échoué)

Du coup j'ai pris l'habitude d'éditer la configuration de l'installeur avant chaque génération à destination des clients et afin de bien m'assurer que la mise à jour des fichiers de données sera bien prise en compte je teste le nouveau setup.

Est-ce normal? comment résoudre ce problème. Est-ce que d'autres personnes font face au même problème que moi?

--
Développeur Java/PHP/HTML/Python/Android/Windev/Webdev
Je suis ouvert.
Message modifié, 14 mars 2017 - 11:33
Posté le 14 mars 2017 - 13:18
Bonjour,

Non, je n'ai pas ce problème, mais une solution simple est d'oublier
cette méthode et de mettre un hmodifiestructure dans le code

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/14/2017 à 5:31 AM, levolutionniste a écrit :
Bonjour, Suite à une modification de l'analyse, je génère une nouveau
setup que je compte alors mettre à jour chez le client. Le problème que
je rencontre est le suivant:

Parfois le wizard d'installation généré ne me propose pas, durant
l'installation, la modification des fichiers de données. Ceci
pratiquement une fois sur deux. Et pourtant dans la configuration du
projet plus précisément de l'installeur j'ai coché les cases Exécuter la
modification automatique des fichiers de données sous options
d'installation dans l'éditeur WDinstall (menu Outils->WDinst->Paramètres
d'installation->Fichiers HyperfileSQL).
(L'upload de la screenshot ne cesse d'échoué)

Du coup j'ai pris l'habitude d'éditer la configuration de l'installeur
avant chaque génération à destination des clients et afin de bien
m'assurer que la mise à jour des fichiers de données sera bien prise en
compte je teste le nouveau setup.

Est-ce normal? comment résoudre ce problème. Est-ce que d'autres
personnes font face au même problème que moi?

--
Développeur Java/PHP/HTML/Python/Android/Windev/Webdev
Je suis ouvert.
Membre enregistré
62 messages
Popularité : +11 (13 votes)
Posté le 14 mars 2017 - 17:23
je devrai suivre cette procédure trouvé sur developpez.com?
""
Pour ma part, tout les fichiers sont décrit dans l'analyse, et HListeFichier() les récupère tous.
Du coup je boucle sur ma liste, et pour chaque fichier si j'ai une exception pendant l'accès je fais un HModifieStructure.
sListeFichiersH est une chaîne = HListeFichier(hLstTriée)
ChaîneVersTableau(sListeFichiersH,tabRecupFichiersHF, RCPOUR TOUTT
sFichier de tabRecupFichiersHF
QUAND EXCEPTIONEXCEPTION DANS
sChaine = {sFichier, indFichier}..GUIDAnalyse
sChaine = {sFichier, indFichier}..GUIDFichier
FAIRE
HModifieStructure(sFichier, hmsNormal)
FIN
FIN

""

Est-ce bien cela?
Par ailleurs, les commentaires précédents ne me rassurent pas vraiment sur la fiabilité de cette méthode. L'avez-vous déjà utilisé dans le contexte qui est le mien (mise à jour des fichiers de données due à une modification d'une ou plusieurs rubrique ou d'un ajout de nouvelles rubriques)?
--------------------
Aussi, svp Que signifie cette phrase dans la documentation:"
[B]
Limitation
La modification automatique des fichiers de données ne fonctionne que pour les fichiers de données ayant des index."
[/B]
ESt ce à dire que lors de les modifications ne sont repercutées que pour les fichiers dont la modifications porte sur une rubrique index?
Sinon n'est ce pas que tous les fichiers ont au moins un index? l'ID ou Cléunik généré par Windev lors de la création du fichier de données?

-------
En passant une idée sur WDModfic et/ou où le trouver avec compatibilité Windev 17

--
Développeur Java/PHP/HTML/Python/Android/Windev/Webdev
Je suis ouvert.
Message modifié, 14 mars 2017 - 17:31
Posté le 14 mars 2017 - 21:01
Bonjour

moi je fais un simple hmodifiestructure("*")

c'est tout, et ca fonctionne bien, aussi bien en windos qu'en mobiel et
webdev.

ESt ce à dire que lors de les modifications ne sont repercutées que pour
les fichiers dont la modifications porte sur une rubrique index?


Non, ca veut dire exactement ce que ca dit, et pas autre chose.

Sinon n'est ce pas que tous les fichiers ont au moins un index? l'ID ou
Cléunik généré par Windev lors de la création du fichier de données?


Pas obligatoire d'avoir un index, pas plus que d'avoir un ID auto.
Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com
Membre enregistré
62 messages
Popularité : +11 (13 votes)
Posté le 16 mars 2017 - 08:51
OK. Merci beaucoup pour l'expérience et l'éclairage.

Mais du coup, où se hmodifiestructure("*") doit il se mettre, dans la page de login ou bien dans la fenêtre main dans le cas d'une application desktop? Il me semble qu'il va être exécuté à chaque fois que l'appli sera lancé?

--
Développeur Java/PHP/HTML/Python/Android/Windev/Webdev
Je suis ouvert.
Message modifié, 16 mars 2017 - 08:55
Posté le 16 mars 2017 - 12:42
Dans le code d'init du projet, une fois que tu es bien qiguillé vers ta
base (donc après le hchangeconexion ou le hchangedir, si tu en as)

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/16/2017 à 2:51 AM, levolutionniste a écrit :
OK. Merci beaucoup pour l'expérience et l'éclairage.

Mais du coup, où se hmodifiestructure("*") doit il se mettre, dans la
page de login ou bien dans la fenêtre main dans le cas d'une application
desktop? Il me semble qu'il va être exécuté à chaque fois que l'appli
sera lancé?

--
Développeur Java/PHP/HTML/Python/Android/Windev/Webdev
Je suis ouvert.
Posté le 16 mars 2017 - 12:43
Et bien sur, pour compléter ma réponse précédente, tu peux ne le faire
QUE si tu es dans une nouvelle version (en comparant avec un fichier ini
par exemple)


Le 3/16/2017 à 2:51 AM, levolutionniste a écrit :
OK. Merci beaucoup pour l'expérience et l'éclairage.

Mais du coup, où se hmodifiestructure("*") doit il se mettre, dans la
page de login ou bien dans la fenêtre main dans le cas d'une application
desktop? Il me semble qu'il va être exécuté à chaque fois que l'appli
sera lancé?

--
Développeur Java/PHP/HTML/Python/Android/Windev/Webdev
Je suis ouvert.
Membre enregistré
62 messages
Popularité : +11 (13 votes)
Posté le 16 mars 2017 - 17:26
OK. thks

--
Développeur Java/PHP/HTML/Python/Android/Windev/Webdev
Je suis ouvert.
Posté le 18 décembre 2019 - 11:45
Hello,

Désolé de déterrer ce vieux post.

Avez vous résolu votre souci?

En utilisant le hmodifiestructure j'ai une erreur lorsque j'ai un ou plusieurs clients qui ont ouvert l'application.
Les fichiers sont en cours d'utilistation et le serveur HFCS refuse la modif.
Avez vous pu rencontrer ce type d'erreur?

Merci d'avance
Membre enregistré
3 889 messages
Popularité : +227 (347 votes)
Posté le 21 décembre 2019 - 11:14
Franck a écrit :
Les fichiers sont en cours d'utilistation et le serveur HFCS refuse la modif.

C'est logique. Il faut :
1-Prévenir les utilisateur qu'ils vont être déconnectés
2-Arrêter l'appli côté serveur
3-Faire les M.A.J

L'idéal est de faire les M.A.J quand il n'y a pas d'utilisateurs. Pour les grosses M.A.J. les longs week-ends, c'est l'idéal.

--
Il y a peut être plus simple, mais, ça tourne