PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → Problème de lecture d'un fichier copié avec HCopieFichier. Windev Mobile 2025 U2.
Problème de lecture d'un fichier copié avec HCopieFichier. Windev Mobile 2025 U2.
Débuté par priv!64vo1y1+s4rqr4vpMtznvy+p1z, 03 avr. 2025 19:13 - 3 réponses
Membre enregistré
2 messages
Posté le 03 avril 2025 - 19:13
Bonjour,

J'utilise HCopieFichier pour copier le fichier "Taches.fic" présent sur mon serveur dédié vers mon application mobile pour alimenter un agenda.

La copie se passe bien, aucune erreur.

Le problème, c'est que lorsque je mets à jour l'Agenda, seuls les changements des taches qui étaient déjà dans le fichier "Taches" dans la BDD locale du mobile sont mises à jour et affichées.
Si de nouvelles taches ont été enregistrées, elles s'affichent uniquement si je redémarre l'application.

Sur le simulateur, pas de problèmes, les nouveaux enregistrements s'affichent normalement après la copie et le rafraichissement de l'agenda.

Code :
// Pour test
HLitDernier(Taches)
Info("Avant copie : " + Taches.TAC_Date_Creation)

HCopieFichier("", fRepDonnées() + [fSep()] + "Taches.fic", "ConnexionHFCS", "Taches.fic", hCopieIndex, "", "MotDePasse")

// Pour test
HLitDernier(Taches)
Info("Après copie : " + Taches.TAC_Date_Creation)

HFerme(Taches)


Le dernier enregistrement lu est le même avant et après la copie.
Lorsque l'on redémarre complètement l'application, le dernier enregistrement s'affiche correctement.

J'ai l'impression que l'application n'a accès qu'aux enregistrements qui existaient déjà avant l'utilisation de HCopieFichier.

Merci d'avance pour votre aide.

Environnement : Android 13 - Windev Mobile 2025 Update 2
Membre enregistré
894 messages
Posté le 03 avril 2025 - 21:43
Vous ne pouvez pas écraser un fichier avec un nouveau et vous attendre à ce que la prochaine chose que vous lisez corresponde à ce nouveau fichier. Pour ce faire, vous devez au moins

1) fermer le fichier
2) Copier le nouveau fichier
3) Ouvrir à nouveau le fichier
4) relire les données.

Rubén

--
https://depot.pcsoft.fr/search.awp…

https://www.linkedin.com/in/rub%C3%A9n-s%C3%A1nchez-pe%C3%B1a-7a868212/
https://play.google.com/store/apps/details…
Posté le 04 avril 2025 - 11:25
Rubén Sánchez Peña a écrit :
Vous ne pouvez pas écraser un fichier avec un nouveau et vous attendre à ce que la prochaine chose que vous lisez corresponde à ce nouveau fichier. Pour ce faire, vous devez au moins

1) fermer le fichier
2) Copier le nouveau fichier
3) Ouvrir à nouveau le fichier
4) relire les données.

Rubén

--
https://depot.pcsoft.fr/search.awp…

https://www.linkedin.com/in/rub%C3%A9n-s%C3%A1nchez-pe%C3%B1a-7a868212/
https://play.google.com/store/apps/details…


Bonjour, merci pour votre réponse.

Malheureusement ca ne fonctionne toujours pas.

BDD Locale avant HCopieFichier :

1 | User1 | 04/04/2025 09:00:00 | 04/04/2025 10:00:00 | Titre1 | 04/04/2025 09:00:00
2 | User2 | 05/04/2025 08:00:00 | 05/04/2025 11:00:00 | Titre2 | 05/04/2025 07:00:00

HFerme(Taches)

HOuvre(Taches)
HLitDernier(Taches, TAC_Date_Modification)
Info("Après copie " + Taches.TAC_Date_Modification)

HFerme(Taches)

HCopieFichier("", fRepDonnées() + [fSep()] + "Taches.fic", ConnexionHFCS, "Taches.fic", hCopieIndex, "", "MotDePasse") ALORS

HFerme(Taches)

// HChangeConnexion(Taches,"")

HOuvre(Taches)
HLitDernier(Taches, TAC_Date_Modification)
Info("Après copie " + Taches.TAC_Date_Modification)


BDD Locale après HCopieFichier :

1 | User1 | 04/04/2025 09:30:25 | 04/04/2025 17:30:00 | Titre1a | 04/04/2025 09:25:12
2 | User2 | 05/04/2025 08:10:00 | 05/04/2025 11:00:00 | Titre2b | 05/04/2025 07:45:50
3 | User2 | 06/04/2025 14:00:00 | 06/04/2025 18:00:00 | Titre3 | 06/04/2025 14:00:00

Si je réactualise mon agenda, les modifications des enregistrements 1 et 2 sont bien prises en compte.
Le nouvel enregistrement (3) reste invisible, il n'est pas récupéré par ma requête, comme si il n'existait pas.

Par contre si je redémarre l'application, l'enregistrement numéro 3 s'affiche correctement.
Membre enregistré
2 messages
Posté le 08 avril 2025 - 11:03
Apparemment le problème venait du fait que j’essayai d'accéder trop vite au nouveau fichier copier.
En isolant l'exécution du code de copie dans un autre plan avec une jauge de progression, le nouveau fichier est accessible complètement.

Merci encore pour votre aide.