IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Execution des ActiveX à la fin


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut Execution des ActiveX à la fin
    Bonjour ( et bonnes fêtes au passage ),

    Je vous explique mon problème : Je dois réaliser une solution qui permet de géocoder ( convertir en lat et long )des adresses stockées dans une BDD, et de stocker tout cela dans un fichier kml.
    J'ai choisi d'utiliser l'API Google.
    Pour le moment, j'ai une page PHP qui accède à la BDD, et dedans du JS avec les fonctions de geocodage. J'arrive à utiliser les fonctions, ça pas de problème, seulement j'utilise les Active X pour créer mon fichier KML, et le problème c'est que celui-ci s’exécute au tout début du chargement de la page, avant que les adresses n'aies été géocodées !
    Sur mon body j'ai un onload qui pointe sur ma fonction de geocodage, et j'ai essayé de mettre un bouton qui fait appel à la fonction contenant les activeX, sans effet ....
    Déjà 3 jours que je suis dessus, donc je viens crier à l'aide !

    Quelqu'un pourrait m'aider ?

    Le code ( en gros )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var file = new ActiveXObject("Scripting.FileSystemObject");
    var a = file.CreateTextFile('C:\\testfil.txt', true);
    geocoder = new google.maps.Geocoder();
    geocoder.geocode( { 'address': address[0]}, function(results, status) {
       if (status == google.maps.GeocoderStatus.OK) {
          tableau[0] = results[0].geometry.location;
          alert("" + tableau[0]);
          a.WriteLine("" +tableau[0]);
       } else {
          alert("Geocode was not successful for the following reason: " + status);}});
       a.Close();

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Résolu, falait supprimer le a.Close();
    Pas très propre mais ça marche

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 957
    Points : 44 119
    Points
    44 119
    Par défaut
    Bonjour,
    Citation Envoyé par Synoyx Voir le message
    Résolu, falait supprimer le a.Close();
    Pas très propre mais ça marche
    la fonction appelée dans geocoder.geocode est une fonction callback qui s'exécute de façon asynchrone, donc lorsque tu fais un a.close(), le fichier est fermée à l'exécution de la fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var file = new ActiveXObject("Scripting.FileSystemObject");
    geocoder = new google.maps.Geocoder();
    geocoder.geocode({ 'address': address[0]}, function (results, status){
      if (status == google.maps.GeocoderStatus.OK) {
        var a = file.CreateTextFile('C:\\testfil.txt', true);
        tableau[0] = results[0].geometry.location;
        a.WriteLine("" + tableau[0]);
        a.Close();
      }
      else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Oui je m'en suis rendu compte apres, mais meme en le sortant de la fonction, ça ne marchait pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fin des ActiveX
    Par Nico28 dans le forum Discussions diverses
    Réponses: 1
    Dernier message: 04/06/2012, 09h35
  2. Réponses: 12
    Dernier message: 09/07/2009, 18h12
  3. executer des fonctions vb d'un activex a partir de javascript
    Par chagam dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/10/2007, 08h57
  4. [Kylix] Kylix 3 execution des projets sur RH 7.3
    Par josian99 dans le forum EDI
    Réponses: 2
    Dernier message: 22/11/2002, 02h00
  5. Réponses: 3
    Dernier message: 02/09/2002, 18h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo