关于ActiveX从页面获取参数问题(200分)

  • 主题发起人 主题发起人 青檬檬
  • 开始时间 开始时间

青檬檬

Unregistered / Unconfirmed
GUEST, unregistred user!
我在以往的帖子里找到不少的相关内容
但是我的ActiveX无法得到页面传过去的数据
我的页面文件如下
<HTML>
<OBJECT id="mobile"
classid="clsid:679E80B6-E8F0-49C9-AADD-FF9E9BDB4B69"
codebase="ActiveIvrProj1.cab"
width=510
height=252
align=center
hspace=0
vspace=0
>
<param name="MobNum" value="35354">
</OBJECT>
</HTML>

然后我在Type Library里增加了一个Property Mobnum
程序里出现了
procedure Set_MobNum(const Value: WideString)
safecall;
function Get_MobNum: WideString
safecall;

我在里面添加代码
procedure TActiveIvr.Set_MobNum(const Value: WideString);
begin
FMobNum := value;
end;

function TActiveIvr.Get_MobNum: WideString;
begin
Result := FMobNum
end;

然后申明变量
public
{ Public declarations }
FMobNum: widestring;

最后在
procedure TActiveIvr.ActiveFormCreate(Sender: TObject);
begin
showmessage('test'+FMobNum);
end;


可是运行页面文件
弹出的对话框里只有Test
FMobNum没有得到页面传过去的参数

谢谢大家 急用
一共215 愿奉上200分求救
 
美女快给我加分!
 
请参照下面代码设置
<HTML>

<OBJECT
classid="clsid:3CF50E0C-817B-46A9-A725-A9B36BD44FD7"
codebase="../testdll/smhprnProj1.cab#version=1,0,83,0"
width=100%
height=100%
align=center
hspace=0
vspace=0
VIEWASTEXT id=p>
</OBJECT>
<SCRIPT LANGUAGE=javascript>
<!--
p.fname ="c://test.xml";
//-->
</SCRIPT>



</HTML>
 
我是这么处理的,
function TActiveIvr.Get_MobNum: WideString;
begin
Result := FMobNum //去掉这一行
end;
这样就可以
 
我的问题已经解决了
页面的代码
和程序代码都没有写错
错在不该在TActiveIvr.ActiveFormCreate 取参数
换个地方就可以了
 
应该是在ACTIVEX FORM的其他事件里写代码[:D]
 
虽然解决了,还是要说两句.
FMobNum应该放在private部分,访问也应该通过你添加的属性访问,而不是用直接访问私有域.
 
多人接受答案了。
 
后退
顶部