PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD24] Erreur script
[WD24] Erreur script
Iniciado por Maxime D, 09,may. 2019 12:21 - 11 respuestas
Miembro registrado
48 mensajes
Publicado el 09,mayo 2019 - 12:21
Bonjour, j'ai crée un logiciel qui permet de visualiser des parcelles via l'api de google map via un champ ActiveX.
J'ai fini une bonne partie du logiciel mais étant en stage je n'ai pu le finir entièrement, j'ai donc donner le dossier entier du projet à mon maître de stage. Cependant, impossible pour lui de l'ouvrir la carte depuis l'application en mode "Go".
J'ai donc rechercher la moindre différence mais sans succès.
Par la suite j'ai voulu créer l'exécutable et là je me rend compte que je possède la même erreur, je reçois la même erreur lorsque j'ouvre l'application depuis l'exe mais aucun problème depuis le mode "Go" de WinDev
Voici ci-dessous un screenshot de l'erreur :





Je tiens à préciser que la clé API est fonctionnelle et que nous possédons tout les deux la même version de WinDev, Edge est à jour dans les deux ordinateurs.
Si quelqu'un à déjà eu un problème de ce genre je veux bien de l'aide.

Merci d'avance de vos réponses.
Miembro registrado
677 mensajes
Publicado el 09,mayo 2019 - 14:09
personne ?
Miembro registrado
14 mensajes
Publicado el 09,mayo 2019 - 15:10
Bonjour
C'est peut un problème lié à l'identification de la clé API
Il faut que celle-ci doit déclaré avant l'ouverture de la fenetre ou en code d'initialisation. Il y a ce post dans la FAQ qui peut etre une piste:
https://faq.pcsoft.fr/17296-ggladresseverscoordonnees_keyless_access_google_maps-read.awp…

Moi j'ai aussi des problèmes non résolus avec les fonctions de la carte depuis le changement de politique de Google Maps

Bon dev
Christophe
Miembro registrado
677 mensajes
Publicado el 09,mayo 2019 - 15:29
Merci pour ta réponse, mais nous n'utilisons pas du tout les instruction ggl..., simplement le composant activex, avec une construction d'un fichier
html ou la clé api figure à l'intérieur, d'autant plus que le fichier html affiche très bien la carte
Miembro registrado
3.778 mensajes
Publicado el 09,mayo 2019 - 22:23
LC, c'est clairement un PB de JavaScript dans ton ActiveX webbroser ie.
peut être que cela t'aidera.
https://support.microsoft.com/fr-fr/help/3135465/how-to-enable-javascript-in-windows
Miembro registrado
677 mensajes
Publicado el 10,mayo 2019 - 10:49
Merci pour ta réponse, mais comme je le disais en double cliquant directement sur le fichier html, la carte s'affiche très bien ... donc le javascript doit être bien activé je suppose
Miembro registrado
3.778 mensajes
Publicado el 10,mayo 2019 - 13:58
As tu essayer de passer par le champ HTML qui accepte JavaScript et regarde la fonction
https://doc.pcsoft.fr/fr-FR/?1000023014
Miembro registrado
677 mensajes
Publicado el 10,mayo 2019 - 14:01
oui ok, je te remercie à nouveau, mais j'aurais aimé avoir la réponse sur l'ActiveX plutôt que de déplacer le problème ..
Miembro registrado
677 mensajes
Publicado el 11,mayo 2019 - 13:13
Bonjour à tous, j'ai donc essayé ce que me préconisait Popoy,
un champ html et un bouton qui exécute le tout, j'ai donc "copier" le code source d'un fichier HTML et l'ai incorporé
dans le ExécuteJS. voici le code:
codeJS est une chaîne = [
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Simple Polygon</title>
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>

// This example creates a simple polygon representing the Bermuda Triangle.

function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 5,
center: {lat: 24.886, lng: -70.268},
mapTypeId: 'terrain'
});

// Define the LatLng coordinates for the polygon's path.
var triangleCoords = [
{lat: 25.774, lng: -80.190},
{lat: 18.466, lng: -66.118},
{lat: 32.321, lng: -64.757},
{lat: 25.774, lng: -80.190}

// Construct the polygon.
var bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
bermudaTriangle.setMap(map);
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBqI8eDarhvFs5oSLpE5WVa6d4ZYu0VCJU&callback=initMap">
</script>
</body>
</html>
]

ExecuteJS(HTML_macarte, codeJS, RésultatExecutionJS)

PROCEDURE INTERNE RésultatExecutionJS(bSuccès est booléen, ValeurRetour)
SI PAS bSuccès
Erreur(ErreurInfo())
RETOUR
FIN
Info(ValeurRetour)
FIN

Lorsque j'exécute ce code , j'ai le message d'erreur suivant :
Erreur à la ligne 61 du traitement Clic sur BTN_ok2.
Vous avez appelé la fonction ExécuteJS.
Le champ 'HTML_macarte' n'est pas un champ de type HTML
(il est de type s).

J'ai oublié quelque chose ?
merci encore pour votre aide, ça devient urgent ..
Miembro registrado
3.778 mensajes
Publicado el 12,mayo 2019 - 05:46
Si tu utilise executejs, il faut lui passer que du JavaScript.
la tu lui passe le HTML aussi.
Dans ton cas , j'aurais plutôt mis le tout dans le contenu du champ avec l'autorisation d'exécution de script.
exécutés permet de lancer un script supplémentaire.
voir https://doc.pcsoft.fr/?1013105
Miembro registrado
677 mensajes
Publicado el 13,mayo 2019 - 16:52
Merci, mais le fichier html à intégrer à 50 000 lignes, je ne sais pas si ça va le faire ... et si ça va pas ramer grave pour l'afficher
Miembro registrado
3.778 mensajes
Publicado el 14,mayo 2019 - 04:44
Si le fichier HTML fonctionne tu peut aussi faire une simple affectation du fichier au champ.
Après tu fait comme tu veut.
Moi, je n'ai que faire du nombre de ligne, je cherchait juste a t'aider.
Je m'aperçois que tu maîtrise pas le HTML et ces règles.
Pareil, que tu passe par l'activex et son automation ou par le champ.
C'est que la grammaire de ton code qui change.
Perso, depuis que Pcsoft a mis executejs , je remodifie tout mes activx en champ HTML car je trouve cela plus clair.
Pour ce qui est de ton erreur, une simple virgule de trop peut la provoquer.
J'arrête de répondre a ce sujet.