PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → 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.
Iniciado por priv!64vo1y1+s4rqr4vpMtznvy+p1z, abr., 03 2025 7:13 PM - 3 respostas
Membro registado
2 mensagems
Publicado em abril, 03 2025 - 7:13 PM
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
Membro registado
893 mensagems
Publicado em abril, 03 2025 - 9:43 PM
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…
Publicado em abril, 04 2025 - 11:25 AM
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.
Membro registado
2 mensagems
Publicado em abril, 08 2025 - 11:03 AM
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.