|
목록에서 글자 제한 23이였음 ?>
질문게시판 - 반드시 검색을 하신 후 원하는 답변을 찾을 수 없을 때, 질문을 올려주세요. |
| Posted by 김길남 | 2007-01-03 00:07:44, Hit : 3157 | |
|
|
|
창조 브라우저를 하나 더 뛰울려면 가능한가요? 창을 하나 더 만들고, 브라우저를 하나 더 뛰우기 위해 다음과 같이 해봤습니다.
//브라우저창을 하나더 만들어주세요,,,,, 실수: 밑판핸들; 만일(브라우저핸들 = 0) { 밑판핸들 := 브라우저객체.FindPanelByName(하나더만들창이름.핸들,"하나더만들밑판제목"); 브라우저핸들 := 브라우저객체.CreateBrowser(밑판핸들); 브라우저객체.SetEvent(하나더만들창이름.핸들,130,131,132); } 브라우저객체.Navigate(브라우저핸들,"HTTP://주소"); |
이렇게 해보니 역시나 기존에 이미 만들어 졌던 창과 밑판에만 Navigate 하네요,,,
|
|
|
김길남 2007-01-03 AM 11:02:44 |
|
|
|
다른자료들을 보면 아마도 어려운 바램인지도 모르겠네요, |
|
|
정성우 2007-01-03 PM 12:12:20 |
|
|
|
기존 밑판에 만들어지는건 핸들을 새로 지정을 안해서 그럴 겁니다.
'만일(브라우저핸들 = 0)'이게 핸들 하나를 가지고 중복생성을 막는 건데
그러니까 핸들 변수를 하나씩 더 만들어 주고 밑판도 새로 만든 다음... 그 변수들을 이용해 새로 브라우저를 만들면 될 겁니다. |
|
|
정성우 2007-01-03 PM 12:13:32 |
|
|
|
그리고 혹시 만드시는 게, '인터넷 음악방송 청취기'인가요? 헤... |
|
|
김길남 2007-01-03 PM 12:34:48 |
|
|
|
네 인터넷음악방송 청취기가 메인이긴 합니다,,,^^
제시하신 방법은 사실 정확한 뜻은 잘 모르지만,,
객체를 하나 더 만들어서 시도 해봤는데 브라우저 핸들=0 이 부분에서 문제가 생기더군요,,, 모르면 무조건 해보는 수 밖에요 ㅎㅎ |
|
|
정성우 2007-01-03 PM 1:30:28 |
|
|
|
제가 너무 빈약하게 답변했는지;;;
내용 좀 더 보강해서 올리겠습니다... |
|
|
김길남 2007-01-03 PM 2:18:11 |
|
|
|
아이고 ,,, 머리가 터질라고 합니다,,
담배를 끊을래야 끊을 수 가 없군요,,
감사 드리며 .... |
|
|
정성우 2007-01-03 PM 2:33:45 |
|
|
|
문제: 핸들을 담을 새로운 변수가 필요하다
해결 방법: 변수를 새로 만든다.
설명하기 전에, 편의상 '첫번째로 만드는 브라우저'와 '그 밑판'은 브라우저1, '두번째로 만드는 브라우저'와 '그 밑판'은 브라우저2로 부르겠습니다.
-- 의뢰(?) 코드 --
실수: 밑판핸들;
만일(브라우저핸들 = 0)
{
밑판핸들 := 브라우저객체.FindPanelByName(하나더만들창이름.핸들,"하나더만들밑판제목");
브라우저핸들 := 브라우저객체.CreateBrowser(밑판핸들);
브라우저객체.SetEvent(하나더만들창이름.핸들,130,131,132);
}
브라우저객체.Navigate(브라우저핸들,"주소");
여기서, '브라우저핸들'변수는 초기화 명령어에 선언되어 있죠? 그런데 초기화 명령어에서 변수를 선언하면 전역변수(프로그램 어디에서나 쓸 수 있고, 어디서든 한 번 어떤 내용을 저장하면 다른 곳에서도 같은 내용을 가져올 수 있는 변수)가 됩니다. 그런 상태에서 '브라우저핸들'변수가 브라우저1 핸들을 담게 되고요...
그 다음, 브라우저2를 만들게 될때, '만일(브라우저핸들 = 0)'조건에 맞지 않기 때문에 조건문은 그냥 지나치고 뒤의 '브라우저객체.Navigate(브라우저핸들,"주소");'만 실행됩니다. 왜나면 '브라우저핸들'변수는 전역 변수라 브라우저1을 만들면서 이미 0이 아닌 '다른 값(핸들)'이 담고 있어서, 브라우저2를 만들 때는 조건문(브라우저핸들 = 0)의 조건에 맞지 않아서 '{}안의 코드(브라우저 만드는 코드)' 는 실행이 안 되게 되는거죠.
그래서 내용을 사건 순서에 따라 간단히 하면...
1. 브라우저1을 만들기 위해 코드 실행...
2. '브라우저핸들' 이 '0'인지 비교(이 때는 브라우저핸들 := 0;)
3. 조건문에 따라 코드 실행 -> '브라우저핸들'변수에 브라우저1의 핸들이 담긴다.
4. 다시, 브라우저2를 만들기 위해 다시 처음부터 코드 실행...(되돌아가는 거죠...)
5. '브라우저핸들' 이 '0'인지 비교(이 때는 브라우저핸들 := [0이 아닌 수];)
6. 조건이 안맞아 {}안의 코드 실행 안함 -> '브라우저객체.Navigate(브라우저핸들,"주소");'만 실행
결과 -> 브라우저1은 생성되고, 브라우저2를 만드려고 하지만 Navigate명령만 실행된다
이제 이해하셨으면, 문제를 해결해야죠?
해결 방법 -> 새로운 '브라우저핸들'변수를 만든다.
저 방법에 따르면... 초기화 명령어에 '실수:브라우저핸들2;'처럼 변수를 새로 하나 만들고, 브라우저2를 생성하는 해당 코드에 '브라우저핸들'대신 '브라우저핸들2'을 넣어주면 됩니다.
-- 해결 코드 --(먼저 초기화 명령어에 '실수:브라우저핸들2;'가 필요합니다!)
//브라우저1 만들기
실수: 밑판핸들;
만일(브라우저핸들 = 0)
{
밑판핸들 := 브라우저객체.FindPanelByName(하나더만들창이름.핸들,"하나더만들밑판제목");
브라우저핸들 := 브라우저객체.CreateBrowser(밑판핸들);
브라우저객체.SetEvent(하나더만들창이름.핸들,130,131,132);
}
브라우저객체.Navigate(브라우저핸들,"주소");
//브라우저2 만들기
만일(브라우저핸들2 = 0)
{
밑판핸들 := 브라우저객체.FindPanelByName(하나더만들창이름.핸들,"하나더만들밑판제목");
브라우저핸들2 := 브라우저객체.CreateBrowser(밑판핸들);
브라우저객체.SetEvent(하나더만들창이름.핸들,130,131,132);
}
브라우저객체.Navigate(브라우저핸들2,"주소");
저의 복잡해 보이는 설명 봐 주셔서 감사해요~ 꾸벅. |
|
|
김길남 2007-01-03 PM 3:25:43 |
|
|
|
이해 했다고 생각하고 다른 응용부터 한답시고,, 쇼를 해봤더니 않되서 걍 시킨데로~만 하니 되네요 ㅎㅎ 감사 드립니다~ |
|
|
김길남 2007-01-03 PM 3:29:52 |
|
|
|
그럼 이런식으로 해서 고수분들은 텝브라우저도 만들 수 있는것 아니에요?
전에 자료를 봤더니 창조로는 않된다고 되 있던데요, |
|
|
정성우 2007-01-03 PM 3:57:24 |
|
|
|
탭브라우저... 만들 수는 있을텐데, 창조로 하면 매우 무거워질 듯한데... |
|
|
김길남 2007-01-03 PM 4:51:44 |
|
|
|
같은창에 브라우저판을 두개 만드는건 잘 되고 있으나
다른창에 만들때는 다음과 같은 메세지가 뜨면서 만들어 지지 않네요...,
"Invalid variant type conversion."
문법은 걍 이것저것 다 해보구요,,, |
|
|
김길남 2007-01-03 PM 7:22:27 |
|
|
|
다른창에 뛰우는것도 이제 됩니다,
다만 브라우저 옵션을 아직 제데로 먹히질 않네요,,
아름다운 저녁입니다,,, |
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |
|