Type Library 사용법 좀 자세히 가르쳐 주세요.
제가 사용한 건...
New Property에서 Read/Write로 XXX를 만들었습니다.
htm 소스에는
<OBJECT
classid="clsid:65A171B3-A6D3-4293-BD02-EEF6761B00AE"
codebase="ActiveFormProj1.ocx#version=1,0,5,0"
width=658
height=407
align=center
hspace=0
vspace=0
id="ActiveFormProj1"
>
<PARAM NAME="XXX" VALUE="12345">
</OBJECT>
델파이 소스에는
function TActiveFormX.Get_XXX: WideString;
begin
//
end;
procedure TActiveFormX.Set_XXX(const Value: WideString);
begin
m_MyXXX := Value ;
end;
m_MyXXX 변수에 Value를 넣었는데...
ActiveFormCreate에서 m_MyXXX 변수를 읽어보니까...
m_MyXXX 변수에 아무런 값이 없네요...
폼위에 버튼을 하나 두고, 그 버튼에서 변수를 읽어도... 역시... -_-;;
위와 같이 하면 m_MyXXX 변수에 12345 값이 들어가야 하는거 아닌가여...??
꼭 좀 가르쳐 주세요.
부탁드립니다. 감사합니다.
제가 생각하기에는 ActiveX 로딩중에 값을 받아서 그러는것 같거덩요.
무슨말이냐 하면
<OBJECT
classid="clsid:65A171B3-A6D3-4293-BD02-EEF6761B00AE"
codebase="ActiveFormProj1.ocx#version=1,0,5,0"
width=658
height=407
align=center
hspace=0
vspace=0
id="ActiveFormProj1"
<PARAM NAME="XXX" VALUE="12345"> <--- 요부분에다가 넣지 말구요.
</OBJECT>
만약 위에 파라메터가 로딩시에 자동으로 들어가게 하려면 약간 딜레이를 줘야하거덩요.
그러기 위해선, 자바스크립트나 VB스크립트로 딜레이를 해줄 함수를 만들어야해요.
전 자바스크립트로 예제를 했습니다.
<script language=javascript>
setTimeout("_start()", 1000);
</script>
이거 먼지 아시죠? 폼 로딩된후 1초후에 _start() 함수를 실행하란겁니다.
이 밑에..
<script language=javascript>
function _start() {
document.ActivexForm.Get_XXX("12345");
}
</script>
이렇게 하시면 되고요. ActivexForm 이 머냐고 물으신다면
<OBJECT
classid="clsid:65A171B3-A6D3-4293-BD02-EEF6761B00AE"
codebase="ActiveFormProj1.ocx#version=1,0,5,0"
width=658
height=407
align=center
hspace=0
vspace=0
name="ActivexForm" <---- id를 이렇게 변형하면 될 겁니다.
</OBJECT>
그리고 자동으로 하지 않고 페이지에 <A>태그를 이용할수도 있습니다.
<a href=javascript:Get_XXX()>ActiveX에파라메터주기</a>
<script language=javascript>
function Get_XXX() {
document.ActivexForm.Get_XXX("12345"); //document가 들어가는지 않들어가는지 까먹었떠요 --;;
}
</script>
도움이 되기를 바라며 이만 ^^;
언제한번 일괄적으로 정리해서 강좌란에 저와같은 초보자를 위한 ActiveX Form 에대한 강좌 올리겠습니다.