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

[WD8] HForceEcriture (débutant en Windev)

3 réponses
Avatar
Phil
Boujour,

Même à l'époque des programmes DOS, l'utilisation d'un bon gestionnaire de
mémoire cache augmentait considérablement la performance des applications.
Avec FoxPro, la commande FLUSH était destiné à forcer l'écriture des données
sur le disque dur - mais elle n'a jamais fonctionné. La seule façon de
forcer l'écriture des données était de fermer le fichier après modification.

Avec Windev, HForceEcriture est destiné à cette fonction comme son nom
l'indique.
Compte tenu que les systèmes d'exploitations Windows utilisent un système de
cache automatique qui prend souvent le contrôle sur les opérations de
lecture/écriture, la commande HForceEcriture force-t-elle réellement
l'écriture sur le disque dur?
Je présume que oui, puisque cette commande prétend fermer et ouvrir à
nouveau le fichier - mais est-ce la réalité?

Personnellement, j'aurais tendance à placer un HForceEcriture après chaque
HAjoute dans le cas, par exemple, d'un ajout de dossier de client ou de
produit. Mais dans le cas d'ajout de plusieurs lignes de commande, je
placerais un HForceEcriture après la dernière ligne ajoutée seulement -
question d'optimiser la performance.

Ce qui m'étonne est que j'entend (et lit sur les NG) parfois des gens qui
mentionnent perdre des données, mais personne ne parle jamais de
HForceEcriture. Mes recherche sur le NG de Pc Soft ne rend aucune mention de
cette commande.
Ça me parait pourtant évident que si les fichiers manipulés (surtout si la
structure est petite) sont encore dans le cache et que l'ordinateur est
brusquement fermé ou l'application fermée de façon anormale, les données
seront perdues.

De plus, cette écriture forcée est encore plus important en réseau afin que
les données ajoutées ou modifiées soient disponible par tous les usagers
connectés.

Plusieurs questions surgissent face à cette situation.
Est-ce que la grande majorité des utilisateurs de Windev prennent pour
acquis que les données ajoutées s'écrivent toujours directement sur le
disque dur sans avoir à utiliser la commande HForceEcriture?
L'écriture est-elle automatiquement forcée quand l'application est en mode
multi-usagers avec HMode("*",HModeMulti)?
Est-ce que tous les développeurs placent systématiquement le HForceEcriture
aux endroits stratégiques? (Et comme c'est "naturel", personne n'en parle)

J'aimerais bien avoir l'avis éclairé d'utilisateurs expérimentés.

Merci à l'avance.

--
Cordialement,

Réal Philippon
Programmation Ultra Ltée -o- www.ultra.ca

3 réponses

Avatar
JBT
Phil a formulé la demande :
Boujour,

Même à l'époque des programmes DOS, l'utilisation d'un bon gestionnaire de
mémoire cache augmentait considérablement la performance des applications.
Avec FoxPro, la commande FLUSH était destiné à forcer l'écriture des données
sur le disque dur - mais elle n'a jamais fonctionné. La seule façon de
forcer l'écriture des données était de fermer le fichier après modification.

Avec Windev, HForceEcriture est destiné à cette fonction comme son nom
l'indique.
Compte tenu que les systèmes d'exploitations Windows utilisent un système de
cache automatique qui prend souvent le contrôle sur les opérations de
lecture/écriture, la commande HForceEcriture force-t-elle réellement
l'écriture sur le disque dur?
Je présume que oui, puisque cette commande prétend fermer et ouvrir à
nouveau le fichier - mais est-ce la réalité?

Personnellement, j'aurais tendance à placer un HForceEcriture après chaque
HAjoute dans le cas, par exemple, d'un ajout de dossier de client ou de
produit. Mais dans le cas d'ajout de plusieurs lignes de commande, je
placerais un HForceEcriture après la dernière ligne ajoutée seulement -
question d'optimiser la performance.

Ce qui m'étonne est que j'entend (et lit sur les NG) parfois des gens qui
mentionnent perdre des données, mais personne ne parle jamais de
HForceEcriture. Mes recherche sur le NG de Pc Soft ne rend aucune mention de
cette commande.
Ça me parait pourtant évident que si les fichiers manipulés (surtout si la
structure est petite) sont encore dans le cache et que l'ordinateur est
brusquement fermé ou l'application fermée de façon anormale, les données
seront perdues.

De plus, cette écriture forcée est encore plus important en réseau afin que
les données ajoutées ou modifiées soient disponible par tous les usagers
connectés.

Plusieurs questions surgissent face à cette situation.
Est-ce que la grande majorité des utilisateurs de Windev prennent pour
acquis que les données ajoutées s'écrivent toujours directement sur le
disque dur sans avoir à utiliser la commande HForceEcriture?
L'écriture est-elle automatiquement forcée quand l'application est en mode
multi-usagers avec HMode("*",HModeMulti)?
Est-ce que tous les développeurs placent systématiquement le HForceEcriture
aux endroits stratégiques? (Et comme c'est "naturel", personne n'en parle)

J'aimerais bien avoir l'avis éclairé d'utilisateurs expérimentés.

Merci à l'avance.



Je ne fais jamais de hforceécriture et je ne connais personne qui en
fait. Je n'en ai jamais eu l'utilité. Windows et hyper file gèrent eux
mêmes leurs propres caches c'est leur problème ! Heureusement le temps
de dos ou il fallait se soucier de ce que faisait le système est révolu
!!!

Une précision important en réseau, le fait que hyper file windows ou le
serveur puisse mettre en cache une écriture, cela ne masque jamais
l'écriture pour les autres postes ! C'est entièrement pris en charge
par les gestionnaires de caches à tous les niveaux.

Pour info, tu as aussi hsécurité dans le système de fichiers hyper file
qui te permet d'intervenir sur les caches.

--

Avatar
Phil
Merci JBT,

Que c'est rafraichissant de lire une réponse comme celle-là! Un casse-tete
de moins.
Merci aussi d'avoir mentionné les précisions en réseau sur la visibilité des
données par les autres postes.

Mais par contre, je me questionne. Pourquoi la commande HForceEcriture
existe si elle ne sert pas? Est-ce un vestige des premières versions?

La commande hsécurité n'est pas beaucoup documenté.

--
Cordialement,

Réal Philippon
Programmation Ultra Ltée -o- www.ultra.ca

> J'aimerais bien avoir l'avis éclairé d'utilisateurs expérimentés.
>
> Merci à l'avance.

Je ne fais jamais de hforceécriture et je ne connais personne qui en
fait. Je n'en ai jamais eu l'utilité. Windows et hyper file gèrent eux
mêmes leurs propres caches c'est leur problème ! Heureusement le temps
de dos ou il fallait se soucier de ce que faisait le système est révolu
!!!

Une précision important en réseau, le fait que hyper file windows ou le
serveur puisse mettre en cache une écriture, cela ne masque jamais
l'écriture pour les autres postes ! C'est entièrement pris en charge
par les gestionnaires de caches à tous les niveaux.

Pour info, tu as aussi hsécurité dans le système de fichiers hyper file
qui te permet d'intervenir sur les caches.

--




Avatar
Jean Cougnaud
Bonjour,

Notre petite expérience sur des réseaux jusqu'à 15 postes avec HF5.5 nous a
confortée dans l'utilisation de HSecurite(1). Ne pas le mettre pouvait
entrainer des pertes de données sur des réseaux un peu lents ou mal
paramétrés.

Avec la valeur 2 cela devenait trop long dans les traitements.

Il faut quand même faire attention à la qualité du réseau et au paramétrage
de Windows.
Voir http://www.pcsoft.fr/st/telec/windev7/HyperFileSurServeurWindows.pdf

Cordialement

Jean Cougnaud


"Phil" a écrit dans le message de
news:ImYDc.48562$
Merci JBT,

Que c'est rafraichissant de lire une réponse comme celle-là! Un casse-tete
de moins.
Merci aussi d'avoir mentionné les précisions en réseau sur la visibilité


des
données par les autres postes.

Mais par contre, je me questionne. Pourquoi la commande HForceEcriture
existe si elle ne sert pas? Est-ce un vestige des premières versions?

La commande hsécurité n'est pas beaucoup documenté.

--
Cordialement,

Réal Philippon
Programmation Ultra Ltée -o- www.ultra.ca

> > J'aimerais bien avoir l'avis éclairé d'utilisateurs expérimentés.
> >
> > Merci à l'avance.
>
> Je ne fais jamais de hforceécriture et je ne connais personne qui en
> fait. Je n'en ai jamais eu l'utilité. Windows et hyper file gèrent eux
> mêmes leurs propres caches c'est leur problème ! Heureusement le temps
> de dos ou il fallait se soucier de ce que faisait le système est révolu
> !!!
>
> Une précision important en réseau, le fait que hyper file windows ou le
> serveur puisse mettre en cache une écriture, cela ne masque jamais
> l'écriture pour les autres postes ! C'est entièrement pris en charge
> par les gestionnaires de caches à tous les niveaux.
>
> Pour info, tu as aussi hsécurité dans le système de fichiers hyper file
> qui te permet d'intervenir sur les caches.
>
> --
>
>