PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Afficher une image stocké en base
Afficher une image stocké en base
Débuté par ADAMS Vianney, 04 jan. 2021 16:40 - 5 réponses
Posté le 04 janvier 2021 - 16:40
Bonjour,

j'essai de mettre en place un programme qui va d'un coté enregistré une image en base et de l'autre coté afficher un ecran avec les images.

Pour la parti enregistrements voici le code :

Programme.Libelle = SAI_NomProgramme
Programme.NombreEtape = SAI_NombreEtape
HAttacheMémo(Programme,MemoImage,IMG_Program,hMemoImg)

SI HAjoute(Programme) = Vrai ALORS
Info("Le progamme "+ SAI_NomProgramme + " a bien été ajouté")
gsProgrammeEnCours = SAI_NomProgramme
OuvreFenêtreMobile(FEN_EtapeCréation)
SINON
Erreur(ErreurInfo())
FIN


Dans la base j'obtiens bien ma ligne d'enregistrement.

Sur l'écran, j'utilise un combo box qui selon le choix fait dans le combo ça affiche les informations dans la base et l'image

sFichierimageTemporaire est une chaîne

sFichierimageTemporaire = fRepEnCours + "ImageProgramme.png"
HLitRecherchePremier(Programme,Libelle,COMBO_Programme..ValeurAffichée)
SI HTrouve() ALORS
HExtraitMémo(Programme,MemoImage,sFichierimageTemporaire)
IMG_MemoImage = sFichierimageTemporaire
ExécuteTraitement(IMG_MemoImage,trtModification)
FIN


Lorsque je test, l'image n'apparait pas.

Pareil sur une autres fenetre ou j'execute un traitement dans le temps (decompte d'une jauge toutes les secondes) l'image n'apparait. J'utilise le code au niveau de la fenetre

Procedure MaFenêtre()
//Récupéreation des informations sur l'étape
REQ_ImageEtape.ParamLibelleProgramme = gsProgrammeEnCours
REQ_ImageEtape.ParamNumeroEtape = gnNumeroEtape
HExécuteRequête(REQ_ImageEtape)

//Récupération des informations sur le programme
REQ_NombreEtapeParProgramme.ParamLibelle = gsProgrammeEnCours
HExécuteRequête(REQ_NombreEtapeParProgramme)


gsFichierImageEtapeTemporaire est une chaîne = fRepEnCours + "ImageEtape.png"
HExtraitMémo(REQ_ImageEtape,ImageEtape,gsFichierImageEtapeTemporaire)
IMG_ImageEtape = gsFichierImageEtapeTemporaire
LIB_tempsrestantchiffre = REQ_ImageEtape.DureeEtape
ExécuteTraitement(IMG_ImageEtape,trtModification)

gnNombreEtape est un entier = REQ_NombreEtapeParProgramme.NombreEtape

JAUGE_SansNom1..BorneMax = REQ_ImageEtape.DureeEtape
JAUGE_SansNom1 = REQ_ImageEtape.DureeEtape
TimerSys(TimerSys_Callback,100,REQ_ImageEtape.DureeEtape)


Si quelqu'un a une idée ? car lorsque je fais les tests depuis le poste, RAS les images s'affiche correctement, quand je fais le test sur appareils mobile : KO les images n'apparaisent pas.
Membre enregistré
449 messages
Popularité : +31 (43 votes)
Posté le 04 janvier 2021 - 17:33
Bonjour

Peut être un souci avec le frepencours(), j'avais du avoir des souci par le passé notamment pour charger le contenu d'un fichier ini, j'ai du pointé vers d'autre rep, j'utilise + : SysRepStockageExterne(1,ssePublic) + "/Download/"

cdlt

DG
Membre enregistré
3 342 messages
Popularité : +93 (137 votes)
Posté le 04 janvier 2021 - 19:48
Personnellement je n'utilise jamais hattachememo et hextraitmemo
J'affecte directement le champ image a la rubrique de ma base hfsql local
Et cela fonctionne sur Android et iOS
Posté le 05 janvier 2021 - 14:39
Bonjour,

j'ai testé en prenant le champs Memo de mon analyse et de le mettre directement sur ma fenêtre, il me créer alors un champs Image avec une liaison.

J'ai toujours le même problème. Je me demande si mon image se charge correctement. Car au niveau du programme maintenant c'est bon. lorsque je fais la sélection l'image change, mais lorsque la fenètre d'étape s'ouvre, l'image n'est pas chargé.

Je vais essayer de mettre le chemin de l'image d'étape dans un chemin avant l'ouverture de la fenetre et envoyer ensuite le chemin qui correspond dans le champs image.

Je vous tiens informé.
Posté le 01 avril 2021 - 14:39
Bonjour,

désolé du délais, j'étais absent un petit moment.

Je position le pointeur sur la ligne en faisant
HrecherchePremier(Activite, IDactivite, IDactiviteEncours)
IMG_Activite = Activite.Image

KO : je n'ai pas d'image qui apparait.

Pour le problème de chemin j'avais déjà essayé de changer mais cela ne fonctionnait pas non plus.
Posté le 01 avril 2021 - 15:53
Je reviens vers vous car je n'ai vraiment plus d'idée. J'ai essayé de decortiqué les requetes pour que ne pas utiliser les Hextrait et hattache.

Je créé une requete
gREQ_ImageActivite est une Requête SQL =
[
SELECT Activite.Image
FROM
Activite
WHERE Activite.IDActivite = {Param1}
]

........

gREQ_ImageActivite.Param1 = gnIDActivite1EnCours
HExécuteRequête(gREQ_ImageActivite)
IMG_Activite1 = gREQ_ImageActivite.Image



Sur simulateur android sur le pc : OK les images s'affiches correctement selon le nombre d'activite visible etc...





Sur Android apres génération de l'apk : KO, aucune image n'apparait.