PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile 2024 → Images ne s'affichent pas dans ZR sous iOS
Images ne s'affichent pas dans ZR sous iOS
Iniciado por Roms, mar., 18 2019 11:59 AM - 7 respostas
Publicado em março, 18 2019 - 11:59 AM
Bonjour à tous,
J'ai une zone répétée qui est alimentée par une base de données MySQL.
Dans cette ZR, j'ai un champs image (entre autres).
Dans ma base de données, l'image est stockée en BASE64.
Lors des tests sur émulateur MAC, les images restent désespérément vides. Sur périphériques Android, les images s'affichent correctement.
Je ne comprends pas ce qui se passe. Auriez-vous une idée ?

Merci à vous
Membro registado
3.333 mensagems
Popularité : +93 (137 votes)
Publicado em março, 18 2019 - 8:14 PM
@roms,
Sur qu'elle version de WM est tu?
Ta base est distante MySQL et PHP, ou locale SQLite ?
Peut on avoir le code de remplissage de ta ZR?
Cela pourrait aider a te répondre.
Publicado em março, 19 2019 - 9:58 AM
Bonjour,
Merci de vous intéresser à ce problème. Je suis en WM 23.
Je tiens à préciser que ce code fonctionne sur un matériel Android

Voici le code de remplissage de la ZR :

FenAttenteDébut("Chargement...")

Cond est une chaîne
Cond="SELECT "+RC+...
"LIEU.NomLieu,"+...
"LIEU.AdresseLieu,"+...
"LIEU.CodePostalLieu,"+...
"LIEU.VilleLieu,"+...
"LIEU.TelephoneLieu,"+...
"LIEU.MailContactLieu,"+...
"LIEU.HeureOuverture,"+...
"LIEU.Photo"+RC+...
"FROM LIEU"+RC+...
"WHERE LIEU.LieuActif=1 AND LIEU.EstLieuAccueil=1"

SI PAS ExecuteSQL("ReqListeLieuxAcc",Cond,NomBaseAgend,Faux) ALORS
ToastAffiche("Erreur lors de la récupération des lieux d'accueil du public jeunes",toastLong)
FenAttenteFin()
RETOUR
FIN

MonBuffer est un Buffer
TANTQUE SQLAvance("ReqListeLieuxAcc")=0
// Chargement de la photo
MonBuffer=Décrypte(SQLLitMémoTexte("ReqListeLieuxAcc",8),"",crypteAucun,encodeBASE64) // Stocké dans la Base de données au format BASE64

// Ajout du lieu d'accueil à la ZR
ZoneRépétéeAjouteLigne(ZoneRépétéeLieuxAccueil,...
SQLLitCol("ReqListeLieuxAcc",1),... // Nom lieu d'accueil
SQLLitCol("ReqListeLieuxAcc",2)+RC+gPoliceGras(Vrai)+SQLLitCol("ReqListeLieuxAcc",3)+" "+gStylo(RougeClair)+SQLLitCol("ReqListeLieuxAcc",4)+gPoliceGras(Faux)+gStylo(Noir),...
SQLLitCol("ReqListeLieuxAcc",5),... // Téléphone
SQLLitCol("ReqListeLieuxAcc",6),... // Mail
SQLLitCol("ReqListeLieuxAcc",7),... // Horaires
MonBuffer) // Photo
FIN
SQLFerme("ReqListeLieuxAcc")
DéconnecteSQL()

FenAttenteFin()

Merci à vous
Publicado em março, 19 2019 - 10:01 AM
Popoy a écrit :
@roms,
Sur qu'elle version de WM est tu?
Ta base est distante MySQL et PHP, ou locale SQLite ?
Peut on avoir le code de remplissage de ta ZR?
Cela pourrait aider a te répondre.


La base de données est MySQL distante que j'attaque par le webservice fournit par PCsoft
Membro registado
3.333 mensagems
Popularité : +93 (137 votes)
Publicado em março, 20 2019 - 9:40 AM
Salut @roms,
je pense que le problème vient de la fonction décrypte qui ne fonctionne pas delà même façon en wd, WM, WB et selon que tu es sur Android et iOS.
c'est écrit dans l'aide.
il faut utilisé décrypte standard https://doc.pcsoft.fr/fr-FR/?1000021294&name=decryptestandard_fonction
ou décodé https://doc.pcsoft.fr/fr-FR/?1000022259
Publicado em março, 21 2019 - 2:30 PM
Popoy a écrit :
Salut @roms,
je pense que le problème vient de la fonction décrypte qui ne fonctionne pas delà même façon en wd, WM, WB et selon que tu es sur Android et iOS.
c'est écrit dans l'aide.
il faut utilisé décrypte standard https://doc.pcsoft.fr/fr-FR/?1000021294&name=decryptestandard_fonction
ou décodé https://doc.pcsoft.fr/fr-FR/?1000022259


Merci Popoy !
Tu m'as mis sur la piste.
En fait, dans ma base de données MySQL, la rubrique image était de la forme LONGBLOB, sous Android, il voulait bien m'afficher les images mais pas sous iOS. J'ai dû passer la rubrique image de LONGBLOB à LONGTEXT et tout est OK !
Merci à toi !
Membro registado
3.333 mensagems
Popularité : +93 (137 votes)
Publicado em março, 21 2019 - 7:56 PM
franchement, c'était tellement évident qu'un élément en base 64 est du texte
que je n'ai pas pensée que tu l'avait stocker en binaire.
j'aurais dû te posé la question.
je m'excuse.
il n'empêche qu'il faut quand même éviter decrypte
Membro registado
11 mensagems
Publicado em julho, 16 2020 - 11:34 AM
Peut tu m'aider je rencontre les mêmes problème je veux récupérer des image que j'ai enregistré avec PHP en base64 dans mon app windev mais ça ne fonctionne pas besoin d'aide