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

[WD8] Question préventive sur TimerSys

5 réponses
Avatar
Phil
Bonjour,

Si on affiche l'heure toute les minutes dans un coin de l'écran avec
TimerSys() et qu'une opération relativement intensive de mise à jour de
fichiers divers comme dans l'enregistrement d'une facture (et tous les
fichiers reliés) a lieu ou encore une relativement grosse mise à jour
mensuelle de maintenance, TimerSys() risque-t-il de nuire à la fiabilité des
mises à jour d'une façon quelconque? Serait-il mieux de stopper TimerSys
durant ces mises à jour ou si cela ne nuit d'aucune façon?

Réal (Phil)

5 réponses

Avatar
Val
"Phil" a écrit dans le message de news:
W681d.21042$
Bonjour,

Si on affiche l'heure toute les minutes dans un coin de l'écran avec
TimerSys() et qu'une opération relativement intensive de mise à jour de
fichiers divers comme dans l'enregistrement d'une facture (et tous les
fichiers reliés) a lieu ou encore une relativement grosse mise à jour
mensuelle de maintenance, TimerSys() risque-t-il de nuire à la fiabilité
des
mises à jour d'une façon quelconque? Serait-il mieux de stopper TimerSys
durant ces mises à jour ou si cela ne nuit d'aucune façon?

Réal (Phil)





Bonjour

Sous WD75, avec des fichiers HF au format WD55b, j'ai rencontré des
problèmes avec un TimerSys() appelé toutes les 1 sec pour mettre à jour une
horloge.
En effet, lorsque ce TimerSys() "tourne" et que je démarre une procédure qui
fait le traitement suivant:
1) fermeture de tous les fichiers HF
2) copie des fichiers HF dans un autre dossier

... j'ai des erreurs dans WD qui provoquent le plantage du logiciel.

Le problème se pose également lorsqu'une fonction de ré-indexation des
fichiers de données est démarrée puisque, là aussi, j'ai des plantages
lorsque le fichier HF en cours de ré-indexation est de taille > 40 Ko

J'ai également des plantages en lecture de fichier HF lorsque j'ouvre une
fenêtre avec "contexte hyperfile indépendant" et que je parcours un fichier
HF (l'erreur WD me précise que la clé n'a pas été amorcée pour le parcours
du fichier ou quelque chose comme cela).

Par contre, si l'option "contexte hyperfile indépendant" n'est pas activée
dans les fenêtres, je n'ai jamais rencontré de problème avec les fonctions
de lecture et d'ajout dans les fichiers de données lorsque ce TimerSys()
"tourne".

Pour l'instant, j'ai résolu le problème en prenant soin de ne jamais activer
l'option "contexte hyperfile indépendant" et en désactivant le TimerSys()
pour toutes les opérations "spéciales" sur les fichiers HF.

Il y a quelques jours, et pour mettre à jour cette horloge toutes les 1 sec,
j'ai essayé de voir ce que cela donne en utilisant un Thread secondaire au
lancement du logiciel plutôt qu'un TimerSys()
Bon, ca marche ... à ceci près que l'horloge s'arrête de fonctionner quand
je déroule les menus déroulants du logiciels ou lorsque j'ouvre des menus
contextuels via le clic droit sur la souris.
C'est pas top quoi !
Pour l'instant, je ne sais pas s'il y a une solution pour que ce thread
continue à tourner pendant le déroulage des menus.

A voir donc.

Val
Avatar
Phil
Bonjour Val,

Merci de votre réponse explicite. Cela confirme mes soupçons.

D'une part le problème est peut-être réglé en WD8 - mais j'en doute
puisqu'un Timer 'surveille' un événement. Il fait donc (si on peut dire)
deux choses en même temps et je ne suis pas trop pour ça.

Possiblement que les Triggers seraient tout désigné pour cette tâche:
désactiver automatiquement le TimeSys qui affiche l'heure avant la mise à
jour des données et réactiver ce TimerSys après avoir terminé toutes les
mises à jour.

Il y a aussi la solution de désactiver directement le TimerSys dans le Code
avant la mise à jour des données et le réactiver juste après. En fait j'aime
mieux cette solution qui est - à mon avis - relativement plus limpide et
plus directe dans le code - en autant qu'on y pense à chaque fois.

Suite à votre message, j'ai donc pris la décision que l'heure ne sera
affichée que dans l'écran de facturation et sera désactivée avant les mises
à jour et réactivée après.

Ça me fait tout drôle d'avoir à me méfier de cette situation avec Windev 8
parce que j'ai fonctionné de nombreuses années avec FoxPro pour DOS qui
affichait l'heure en permanence - même durant les mises à jour les plus
complexes - sans aucune erreur de fiabilité et, de plus, à une vitesse
époustouflante. La programmation Windows est censé être plus évoluée...!!??
J'ai l'impression de reculer avec cette fonction... ;-(

Cordialement,

Réal (Phil)

"Val" a écrit dans le message de
news:414541d2$0$1288$

"Phil" a écrit dans le message de news:
W681d.21042$
> Bonjour,
>
> Si on affiche l'heure toute les minutes dans un coin de l'écran avec
> TimerSys() et qu'une opération relativement intensive de mise à jour de
> fichiers divers comme dans l'enregistrement d'une facture (et tous les
> fichiers reliés) a lieu ou encore une relativement grosse mise à jour
> mensuelle de maintenance, TimerSys() risque-t-il de nuire à la fiabilité
> des
> mises à jour d'une façon quelconque? Serait-il mieux de stopper TimerSys
> durant ces mises à jour ou si cela ne nuit d'aucune façon?
>
> Réal (Phil)
>
>

Bonjour

Sous WD75, avec des fichiers HF au format WD55b, j'ai rencontré des
problèmes avec un TimerSys() appelé toutes les 1 sec pour mettre à jour


une
horloge.
En effet, lorsque ce TimerSys() "tourne" et que je démarre une procédure


qui
fait le traitement suivant:
1) fermeture de tous les fichiers HF
2) copie des fichiers HF dans un autre dossier

... j'ai des erreurs dans WD qui provoquent le plantage du logiciel.

Le problème se pose également lorsqu'une fonction de ré-indexation des
fichiers de données est démarrée puisque, là aussi, j'ai des plantages
lorsque le fichier HF en cours de ré-indexation est de taille > 40 Ko

J'ai également des plantages en lecture de fichier HF lorsque j'ouvre une
fenêtre avec "contexte hyperfile indépendant" et que je parcours un


fichier
HF (l'erreur WD me précise que la clé n'a pas été amorcée pour le parcours
du fichier ou quelque chose comme cela).

Par contre, si l'option "contexte hyperfile indépendant" n'est pas activée
dans les fenêtres, je n'ai jamais rencontré de problème avec les fonctions
de lecture et d'ajout dans les fichiers de données lorsque ce TimerSys()
"tourne".

Pour l'instant, j'ai résolu le problème en prenant soin de ne jamais


activer
l'option "contexte hyperfile indépendant" et en désactivant le TimerSys()
pour toutes les opérations "spéciales" sur les fichiers HF.

Il y a quelques jours, et pour mettre à jour cette horloge toutes les 1


sec,
j'ai essayé de voir ce que cela donne en utilisant un Thread secondaire au
lancement du logiciel plutôt qu'un TimerSys()
Bon, ca marche ... à ceci près que l'horloge s'arrête de fonctionner quand
je déroule les menus déroulants du logiciels ou lorsque j'ouvre des menus
contextuels via le clic droit sur la souris.
C'est pas top quoi !
Pour l'instant, je ne sais pas s'il y a une solution pour que ce thread
continue à tourner pendant le déroulage des menus.

A voir donc.

Val


Avatar
Gilles G.
In article <W681d.21042$,
says...
Bonjour,

Si on affiche l'heure toute les minutes dans un coin de l'écran avec
TimerSys() et qu'une opération relativement intensive de mise à jour de
fichiers divers comme dans l'enregistrement d'une facture (et tous les
fichiers reliés) a lieu ou encore une relativement grosse mise à jour
mensuelle de maintenance, TimerSys() risque-t-il de nuire à la fiabilité des
mises à jour d'une façon quelconque? Serait-il mieux de stopper TimerSys
durant ces mises à jour ou si cela ne nuit d'aucune façon?



Tu n'auras aucun problème si ton traitement ne va pas interragir sur les
fichiers de données que tu manipules.
Avatar
STASZEWSKI André
Salut Réal,
Attention Val rafraîchit son horloge toutes les secondes !
Toi c'est toutes les minutes; toute la différence est là !
Et crois moi avec cet intervalle, tu n'auras aucun soucis avec les travaux
en parallèle que tu puisse faire.
--
Cordialement,
André STASZEWSKI
Nouvelle version 3.1 de Photo Visu sur www.PlaneteDev.fr.st
Contact ; Cliquez sur ce lien : http://cerbermail.com/?OT0Wnwyzph
Avatar
Phil
> Salut Réal,
Attention Val rafraîchit son horloge toutes les secondes !
Toi c'est toutes les minutes; toute la différence est là !
Et crois moi avec cet intervalle, tu n'auras aucun soucis avec les travaux
en parallèle que tu puisse faire.
--
Cordialement,
André STASZEWSKI
Nouvelle version 3.1 de Photo Visu sur www.PlaneteDev.fr.st
Contact ; Cliquez sur ce lien : http://cerbermail.com/?OT0Wnwyzph


-------------------------------------------

Salut André,

Je sais que Val rafraîchit son horloge toutes les secondes c'est beaucoup
plus demandant (heu.. comme 60 fois plus n'est-ce pas) mais si TimerSys est
en fonction, il doit quand même surveiller en permanence son entrée en
fonction, même s'il ne met à jour l'affichage de l'heure seulement à chaque
minute, non?

Et si l'affichage de l'heure se produit juste durant une de ces mises à
jour, est-ce que cela ne risque pas de causer des problèmes à l'occasion? Tu
sais le genre de problème difficile à résoudre qui n'arrive qu'à l'occasion.

Je ne veux pas non plus chercher la petite bête noire, s'il n'y a aucun
risque selon ceux qui l'ont essayé dans la vrai vie et dans un environnement
d'enregistrements moyennement intensif, alors je vais y aller sans me
soucier de cet aspect.

Réal Phil