PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 23 → Rebelotte, pb. de datas...
Rebelotte, pb. de datas...
Débuté par Jean-Philippe DEGLET, 01 fév. 2017 20:00 - 7 réponses
Membre enregistré
120 messages
Posté le 01 février 2017 - 20:00
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 modifié, 01 février 2017 - 20:01
Membre enregistré
120 messages
Posté le 02 février 2017 - 07:44
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 modifié, 02 février 2017 - 07:48
Posté le 02 février 2017 - 14:15
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
Membre enregistré
120 messages
Posté le 06 février 2017 - 22:12
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
Posté le 07 février 2017 - 10:53
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
Membre enregistré
120 messages
Posté le 07 février 2017 - 16:06
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 modifié, 07 février 2017 - 16:07
Posté le 13 juin 2018 - 15:34
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
Membre enregistré
7 messages
Posté le 24 juin 2018 - 03:46
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