C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[63601] Re:다시 질문...Re:Re:[질문] C++ Builder에서 Javascript 호출...어떻게?
이현수 [] 2311 읽음    2011-01-26 13:20
TCppWebBrowser의 ReadyState와 OnDocumentComplete 도움말을 참고하세요.
CppWebBrowser->Navigate 함수는 url에 지정된 호스트에 지정된 html 문서를 요청만하고 바로 return하는 함수입니다.
이 게시판에서 찾아보시면 관련 질의응답이 있습니다.

땅주인 님이 쓰신 글 :
:
: void __fastcall TForm2::ButtonTrackPathClick(TObject *Sender)
: {
:    Variant doc;
:    Variant r;
:    Variant w;
: 
:    CppWebBrowser->Navigate(WideString("D:\\DLTS2010\\Test\\MapTest\\index9.html").c_bstr());
: 
:    doc = CppWebBrowser->Document;
:    w = doc.OlePropertyGet("parentWindow");
: 
:    w.OleFunction("AddTrackCoordinate",37.414655,127.140197);  // 알수 없는 이름입니다.
:    w.OleFunction("AddTrackCoordinate",37.414645,127.140138);
:    w.OleFunction("AddTrackCoordinate",37.415498,127.137457);
:    w.OleFunction("AddTrackCoordinate",37.416053,127.136530);
:    w.OleFunction("AddTrackCoordinate",37.416955,127.133397);
:    ....
: }
: 

:
: Navigate()로 페이지 여는 루틴과,
: Javascript호출하는 부분을 두 개의 Event(Button으로 처리)으로 분리하면 정상동작하는데..
: 하나의 함수 안에 넣으면 위와 같이 "알수 없는 이름입니다"라는 메세지가 나오는데..
: 이건 어떻게 해야 하는 지? Page Load하는 속도가 느려서 그런 것 같기도 하고..
:
: 도와주세요. 감사합니다.
:
:
: 이현수 님이 쓰신 글 :
: : Variant::OleFunction은 매개변수 갯수에 따라 32개가 있는데요
: : 매개변수 지정에 있어서 핵심은, 첫번째에는 함수이름문자열, 두번째부터는 함수이름문자열이 뜻하는 함수에 필요한 매개변수들을 차례대로 지정합니다.
: : 예를 들어, int Func1(int a, int b);를 호출하려면
: : int res = aVariantObject.OleFunction("Func1",5,7); 형식으로 해야 합니다.
: : 그러므로 질문 하신 내용의 경우 형식상으로는,
: : w.OleFunction("AddTrackCoordinate",37.414655,127.140197); 로 해야 하겠지요.
: :
: : 땅주인 님이 쓰신 글 :
: : : 팁&트릭란에 Builder에서 Web Page의 Javascript호출하는 방법이 나와 있던데..
: : : 그대로 해보니..잘 안되는데요.. 뭘 잘못했는 지... 감이 안 와서요..
: : :
: : : http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=890
: : :
: : : Javascript 코드는 아래와 같고,.. 정상적으로 동작하는 것을 모두 확인한 상태입니다.
: : :
: : : function AddTrackCoordinate(x,y)
: : : {
: : :     TrackCoordinates[CoordinateIndex] = new google.maps.LatLng(x,y);
: : :     CoordinateIndex = CoordinateIndex + 1;
: : : }
: : : 
: : : function ShowTrackPath()
: : : {
: : :     TrackPath = new google.maps.Polyline({
: : : 	      path: TrackCoordinates,
: : : 	      strokeColor: "#FF0000",
: : : 	      strokeOpacity: 1.0,
: : : 	      strokeWeight: 3
: : :     });	
: : :     TrackPath.setMap(Map);    
: : : }
: : : 

: : :
: : : 호출은 아래와 같이 했습니다.
: : :
: : :
: : :    Variant doc;
: : :    Variant r;
: : :    Variant w;
: : : 
: : :    doc = CppWebBrowser->Document;
: : :    w = doc.OlePropertyGet("parentWindow");
: : : 
: : :    w.OleFunction("AddTrackCoordinate(37.414655,127.140197)"); // error: 알수없는 이름입니다 
: : :    w.OleFunction("AddTrackCoordinate(37.414645,127.140138)");
: : :    ...
: : : 

: : :
: : : 에러 메세지는 "알수없는 이름입니다" 자바스크립트 함수 이름을 못 찾는 것 같은데..
: : : 어떻게 해야 할 지.... ?
: : : 고수님들의 도움이 필요합니다.
: : :
: : : 목적은, google map의 javascript API를 이용하여 차량의 GPS 데이터를 기반으로
: : : 운행 괘적을 표시하려 합니다.
: : :
: : : 감사합니다.

+ -

관련 글 리스트
63594 [질문] C++ Builder에서 Javascript 호출...어떻게? 땅주인 2099 2011/01/25
63597     Re:[질문] C++ Builder에서 Javascript 호출...어떻게? 이현수 2410 2011/01/25
63600         다시 질문...Re:Re:[질문] C++ Builder에서 Javascript 호출...어떻게? 땅주인 2178 2011/01/26
63601             Re:다시 질문...Re:Re:[질문] C++ Builder에서 Javascript 호출...어떻게? 이현수 2311 2011/01/26
63598         Re:Re:[질문] C++ Builder에서 Javascript 호출...어떻게? 땅주인 2045 2011/01/26
63596     Re:[질문] C++ Builder에서 Javascript 호출...어떻게? 땅주인 2134 2011/01/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.