Как отправить данные между Javascript и Delphi? - PullRequest
3 голосов
/ 24 января 2012

Я пытаюсь заполнить массив в моей программе на Delphi данными, созданными Javascript.

У меня есть WebBrowser, который загрузил HTML со следующим Javascript:

function DrawTrack () {
  var geo_path = new Array ();
      var geo_path = [
          new google.maps.LatLng (-18.142599, 178.431),
      new google.maps.LatLng (-27.46758, 153.027892)
      ];
    var Track = new google.maps.Polyline ({
      path: geo_path,
      strokeColor: "# FF0000",
      strokeOpacity: 1.0,
      strokeWeight: 2
        });

  Track.setMap (map);
}

Я хотел бы добавить кнопку с обработчиком OnClick, который бы вызывал

HTMLWindow2.execScript ('DrawTrack ()', 'JavaScript')

Функция создаст линию с координатами 2 мкм.

Как мне достичь своей цели?

1 Ответ

5 голосов
/ 25 января 2012

Вы должны переписать свою функцию JavaScript, чтобы принять параметры

function DrawTrack (FromLat, FromLng, ToLat, ToLng) {
  var geo_path = new Array ();
      var geo_path = [
          new google.maps.LatLng (FromLat, FromLng),
      new google.maps.LatLng (ToLat, ToLng)
      ];
    var Track = new google.maps.Polyline ({
      path: geo_path,
      strokeColor: "# FF0000",
      strokeOpacity: 1.0,
      strokeWeight: 2
        });

  Track.setMap (map);
}

и затем передать значения из delphi таким образом

HTMLWindow2.execScript(Format('DrawTrack (%s,%s,%s,%s)',['-18.142599','178.431','-27.46758','153.027892']), 'JavaScript');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...