• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ASP与ActiveX控件交互实战(二)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网 龙卷风

关键字:ASP,ActiveX控件,数字签名,安全



我们来看看如何从服务端获取数据,传递到ActiveX控件中。

1) 初始化时使用参数绑定

2) 运行时得到数据



打开vb6,新建ActiveX控件工程。

工程名:fOcx,用户控件名:UC2

为了方便,我们使用ActiveX控件接口向导…,菜单->外接程序->外接程序管理器->VB 6 ActiveX控件接口向导。确定即可。



打开ActiveX控件接口向导,下一步,对于可用名称和选定名称我们默认下一步,新建自定义成员,GetInfo类型:属性,下一步,共有方法中选择我们刚才添加的GetInfo,映射到控件选择TxtInfo,成员选择Text,下一步直到完成。代码窗口中会生成一些我们不需要的,删除,



@#注意!不要删除或修改下列被注释的行!

@#MappingInfo=txtinfo,txtinfo,-1,Text

Public Property Get GetInfo() As String

GetInfo = txtinfo.Text

End Property



Public Property Let GetInfo(ByVal New_GetInfo As String)

txtinfo.Text() = New_GetInfo

PropertyChanged "GetInfo"

End Property



Private Sub Command1_Click()

Label2.Caption = GetInfo()

End Sub



@#从存贮器中加载属性值

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)



txtinfo.Text = PropBag.ReadProperty("GetInfo", "Text1")

End Sub



@#将属性值写到存储器

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)



Call PropBag.WriteProperty("GetInfo", txtinfo.Text, "Text1")

End Sub



编译成OCX控件.运行生成的测试页.Text中默认的是Text1

如何将服务器端的数据传递给OCX呢?



使用Microsoft ActiveX Control Pad这个工具,可以很容易找到.

直接用这个工具把测试页打开.

菜单->Edit->Edit Activex Control,呵呵,打开了一个可视化的界面.

看到了吧,有一个属性框,我们可以进行设置,设置完成以后的代码如下:

<HTML>

<HEAD>

<TITLE>New Page</TITLE>

</HEAD>

<BODY>

<OBJECT ID="GetClient" WIDTH=507 HEIGHT=440

CLASSID="CLSID:890D1028-298B-45CF-9A64-6ED5A5BACBC9"

CODEBASE="http://localhost/xml/fOcx.ocx">

<PARAM NAME="_ExtentX" VALUE="13414">

<PARAM NAME="_ExtentY" VALUE="11642">

<PARAM NAME="GetInfo" VALUE="这是ocx得到的客户端读卡器的信息">

</OBJECT>

</BODY>

</HTML>

增加了ID,ID就是我们用来访问的标志.还有我们的属性GetInfo,我们也设定初始值了

好了,运行.

Text中就出现了我们设定的值”这是ocx得到的客户端读卡器的信息”



我们把上边的页面改成asp的,看代码:

<HTML>

<HEAD>

<TITLE>龙卷风测试页</TITLE>

</HEAD>

<BODY>

<%

dim sValue

sValue="这是ocx得到的客户端读卡器的信息"

%>

<OBJECT ID="GetClient" WIDTH=507 HEIGHT=440

CLASSID="CLSID:56DFCA88-F5B8-4879-853B-97FE504423FD"

CODEBASE="http://localhost/xml/fOcx.ocx">

<PARAM NAME="_ExtentX" VALUE="13414">

<PARAM NAME="_ExtentY" VALUE="11642">

<PARAM NAME="GetInfo" VALUE="<%=sValue%>">

</OBJECT>

</BODY>

</HTML>

OK,运行即可



我们看看第二种情况

运行时得到数据


<HTML>

<HEAD>

<TITLE>龙卷风测试页</TITLE>



<%

dim sValue

sValue="这是ocx得到的客户端读卡器的信息"

%>

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>

<!--



function button1_onclick()

{

GetClient.GetInfo=@#<%=sValue%>@#;

}



//-->

</SCRIPT>

</HEAD>

<BODY>

<OBJECT ID="GetClient" WIDTH=507 HEIGHT=440

CLASSID="CLSID:56DFCA88-F5B8-4879-853B-97FE504423FD"

CODEBASE="http://localhost/xml/fOcx.ocx">

<PARAM NAME="_ExtentX" VALUE="13414">

<PARAM NAME="_ExtentY" VALUE="11642">

</OBJECT>

<INPUT id=button1 type=button value=Button name=button1 LANGUAGE=javascript onclick="return button1_onclick()">

</BODY>

</HTML>



运行后,点击按钮即可看到效果.



未完待续

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网