PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD24] Problème avec composant Carte étendue
[WD24] Problème avec composant Carte étendue
Iniciado por B. Neve, 25,abr. 2019 18:31 - 1 respuesta
Miembro registrado
86 mensajes
Publicado el 25,abril 2019 - 18:31
Bonjour à tous,

Nous utilisons le composant Carte étendue de la LST102.
Dans ce cadre, nous affichons une carte avec différents marqueurs. Dans une table séparée, chaque ligne sélectionnée fait apparaître un cercle autour du marqueur avec la fonction CarteAjouteCercle. En version 23, aucun problème.
En 24, l'ajout de cercles fonctionne parfaitement par contre, la suppression ne fonctionne plus. Et cela, que ce soit avec CarteSupprimeCercle ou CartesupprimetoutDessin.
Pire, lorsque CartesupprimetoutDessin est utilisé, seulement quelques objets sont supprimés. En répétant plusieurs fois la fonction, les objets finissent par disparaître de la carte.


Avez-vous rencontré le même problème et avez-vous trouvé une solution ?

--
Benoit Neve
Miembro registrado
86 mensajes
Publicado el 26,abril 2019 - 10:58
Je me réponds à moi-même...
Après un test approfondi, le problème vient de la conversion du composant de 23 en 24.
Windev passe en majuscule la variable ID dans certaines procédures.
Par exemple dans
PROCÉDURE PRIVÉE __CEXFormeSupprime(Carte est un Champ, LOCAL TypeForme est une chaîne, LOCAL ID est une chaîne) : booléen

On trouve

var id = %1;
var type = %2;
for(i = 0; i < window.markerShapes.length; i++) {
if (window.markerShapes[i].id == id && window.markerShapes[i].type == type) {

qui est devenu

var id = %1;
var type = %2;
for(i = 0; i < window.markerShapes.length; i++) {
if (window.markerShapes[i].id == ID && window.markerShapes[i].type == type) {

le ID en majuscule ci-dessus n'existant pas, tout part en vrille.

En espérant que cela vous aidera...

--
Benoit Neve