PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Rebelotte, pb. de datas...
Rebelotte, pb. de datas...
Started by Jean-Philippe DEGLET, Feb., 01 2017 8:00 PM - 7 replies
Registered member
129 messages
Popularité : +5 (5 votes)
Posted on February, 01 2017 - 8:00 PM
Bonsoir,

Je ne comprends pas ou plus...
J'ai modifié mon analyse, modifié un fichier HFSQL (rajouté une rubrique).
J'ai tout recompilé, régénéré l'APK, en mode simulation tout est bon (bien évidemment).

Sur le device, je supprime/désinstalle la version présente (le nom du package est resté le même).
"En mode test sur le device (pluggé USB), je déploie.
L'APK démarre et se plante :
Le mécanisme de sécurité HFSQL... du fichier fff sur la rubrique rrr...
la description logique... Impossible d'accéder au fichier..."

J'ai ajouté hcreationsiinexistant("*") dans le code d'initialisation du projet et refait toutes les manips sans succès :
toujours la même erreur.
Comment "voir" sur le device, où sont réellement mes datas ?

Je suis à court d'idées !
;(

--
Cdlt
JPhD
Message modified, February, 01 2017 - 8:01 PM
Registered member
129 messages
Popularité : +5 (5 votes)
Posted on February, 02 2017 - 7:44 AM
A force de jouer avec fExtraitRessource() cela a re-fonctionné.
Du coup, j'aimerais que l'on m'éclaire,

Dans la description du projet "Options des fichiers de données"
- on peut cocher (par défaut) Créer automatiquement les fichiers des données si non présents à leur ouverture"

Lors de le génération de l'APK,
- on doit définir dans "intégration des fichiers", la destination APK et la Destination application <Répertoire BDD> (par défaut)
Mais on a le choix <Répertoire courant>, <Répertoire BDD>, <SDCard> et <Répertoire libs>

Et dans le code d'initialisation du projet
- on peut utiliser fExtraitRessource(sNomRessource, ComplèteRep(fRepEnCours) + sNomRessource)
avec fRepEnCours ou fRepDonnées...

En exécution sur le device physique, APK installée depuis le WWW
fRepEnCours renvoie /data/user/0/{package}/files
fRepDonnées renvoie /data/user/0/{package}/
Mon plantage m'indiquait /data/user/0/{package}/databases/{nom du fichier}

Dans mon cas de figure, avec <Répertoire BDD>, mon APK ne fonctionne correctement que si j'utilise fRepEnCours (dans fExtrait...)
Si je met fRepDonnées mes données sont erronées comme si j'avais deux jeux de fichiers aux contenus différents dans ces deux localisations possibles.
- Pire encore, il me semble que mon APK lit depuis une destination mais écrit dans l'autre !!!

Bref, je ne saisis pas comment on indique à l'APK depuis quel "endroit" on veut vraiment lire/écrire tel ou tel fichiers.
(fChangeRep sans effet). Quant à l'article PCSoft de la LST 107, P.27...

Quel sont les liaisons entre <Répertoire BDD>/<Répertoire courant> et fExtraitRessource(fRepEnCours)/fExtraitRessource(fRepDonnées)

Suis-je le seul à pédaler dans cette semoule de répertoire/sous-répertoire ???

--
Cdlt
JPhD
Message modified, February, 02 2017 - 7:48 AM
Posted on February, 02 2017 - 2:15 PM
Bonjour Jean Philippe,

tes datas sont la ou tu les mets... a voir dans ton code donc..

Tu peux aussi afficher NomFichier..repertoire

Et visiblement, il temanque un hmodifiestructure

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 2/1/2017 à 2:00 PM, Jean-Philippe DEGLET a écrit :
Bonsoir,

Je ne comprends pas ou plus...
J'ai modifié mon analyse, modifié un fichier HFSQL (rajouté une rubrique).
J'ai tout recompilé, régénéré l'APK, en mode simulation tout est bon
(bien évidemment).

Sur le device, je supprime/désinstalle la version présente (le nom du
package est resté le même).
"En mode test sur le device (pluggé USB), je déploie.
L'APK démarre et se plante :
Le mécanisme de sécurité HFSQL... du fichier fff sur la rubrique rrr...
la description logique... Impossible d'accéder au fichier..."

J'ai ajouté hcreationsiinexistant("*") dans le code d'initialisation du
projet et refait toutes les manips sans succès :
toujours la même erreur.
Comment "voir" sur le device, où sont réellement mes datas ?

Je suis à court d'idées !
;(

--
Cdlt
JPhD
Registered member
129 messages
Popularité : +5 (5 votes)
Posted on February, 06 2017 - 10:12 PM
Hop, de retour, Merci Fabrice, je n'ai finalement pas eu besoin de hmodifiestructure()
Ce qui fonctionne :
// Extraction de tous les fichiers HFSQL de l'application
sListeRessources est une chaîne = fListeRessource()
POUR TOUTE CHAÎNE sNomRessource DE sListeRessources SEPAREE PAR RC
sExtension est une chaîne = Minuscule(fExtraitChemin(sNomRessource, fExtension))
SI sExtension DANS (".fic", ".mmo", ".ndx") ALORS
fExtraitRessource(sNomRessource, ComplèteRep(fRepEnCours) + sNomRessource)
FIN
FIN

--
Cdlt
JPhD
Posted on February, 07 2017 - 10:53 AM
Bonjour Jean Philippe

donc, à chaque install d'une mise à jour, tu ECRASE tous les fichiers...

Si c'est ca que tu veux faire....

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 2/6/2017 à 4:12 PM, Jean-Philippe DEGLET a écrit :
Hop, de retour, Merci Fabrice, je n'ai finalement pas eu besoin de
hmodifiestructure()
Ce qui fonctionne :
// Extraction de tous les fichiers HFSQL de l'application
sListeRessources est une chaîne = fListeRessource()
POUR TOUTE CHAÎNE sNomRessource DE sListeRessources SEPAREE PAR RC
sExtension est une chaîne = Minuscule(fExtraitChemin(sNomRessource,
fExtension))
SI sExtension DANS (".fic", ".mmo", ".ndx") ALORS
fExtraitRessource(sNomRessource, ComplèteRep(fRepEnCours) +
sNomRessource)
FIN
FIN

--
Cdlt
JPhD
Registered member
129 messages
Popularité : +5 (5 votes)
Posted on February, 07 2017 - 4:06 PM
Re, pour l'instant oui (écrase / remplace).
Ce qui devrait fonctionner "nativement" (et qui a fonctionné plusieurs fois puis plus) quand on dés-installe et que l'on ré-installe l'APK.

--
Cdlt
JPhD
Message modified, February, 07 2017 - 4:07 PM
Posted on June, 13 2018 - 3:34 PM
Bonjour,

Je suis un peu dans le même souci avec Windev Mobile 22. Lors de la désinstallation de l'application tous les fichiers de base de données sont normalement supprimés. Sur le téléphone d'un de mes utilisateurs je n'y arrive pas.

- Désinstallation simple (mise corbeille)
- Désinstallation application -> stockage-> effacer données + cache + l'application évidemment

Quand il réinstalle l'application la base de données est la même que précédemment et l'analyse n'est plus valable ...
Certes je pourrais faire un HVérifieStructure etc etc mais ce que je ne comprends pas c'est comment après la désinstallation vraiment complète de l'application les fichiers hfsql peuvent rester ???

Extrait du rapport d'erreur :
EIT_LOGICALTABLENAME : <PHOTO_TYPOLOGIE>
EIT_PATHFIC : </data/user/0/com.masociete.mobdr/databases/photo_typologie>

D'avance merci pour vos réponses
Frédérik
Registered member
7 messages
Posted on June, 24 2018 - 3:46 AM
J'ai eu le même problème avec un fichier qui refisait de se réinstaller (de se recopier) après une désinstallation complète/réinstallation, en fait j'ai constaté que le répertoire com.monapplication.maboite, où s'installe le programme reste toujours présent avec des datas, même après la désinstallation totale du programme, il existe des petits utilitaires sous Android qui permettent la suppression totale des répertoires après une désinstallation.

J'ai fait un petit test lors de la génération de l'APK en modifiant légèrement le nom du com.monapplication.maboite, et là, miracle, tout s'est installé correctement. Donc, le problème vient d'Android, cherche les fameux petits utilitaires...

@+
Bill