网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
使用VC++6.0制作ASP服务器控件简介
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
语句:(具体请查阅MSDN中的相关类的内容)
IRequest* pIRequest;
HRESULT hr = pIUnk->QueryInterface(IID_IRequest, reinterpret_cast<LPVOID*>(&pIRequest));
Long m_lDataSize;
HRESULT hr = pIRequest->get_TotalBytes(&m_lDataSize);
if (FAILED(hr))
return hr;
if (m_lDataSize == 0L)
{
return S_OK;
}

COleVariant varBytesToRead;
COleSafeArray sarrayBytes;  
varBytesToRead = m_lDataSize;
sarrayBytes.CreateOneDim(VT_UI1, m_lDataSize);
hr = pIRequest->BinaryRead(&varBytesToRead, &sarrayBytes);
if (FAILED(hr))
{
sarrayBytes.Clear();
return hr;
}

5.对于不定个数参数,可使用SAFEARRAY,但使用方法较为复杂。可以在参数中输入如下的内容[in]SAFEARRAY array,并按Attribute…按钮,在Name中选择vararg。按确定后修改idl文件在把[in]SAFEARRAY array改为[in]SAFEARRAY(VARIANT) array。然后再打开MyComponent.h文件把该函数的参数SAFEARRAY array改为SAFEARRAY* array。再打开MyComponent.cpp文件修改参数,在函数体内使用COleSafeArray类实现该参数的控制,如“COleSafeArray SArray(array,VT_BSTR)”,具体操作可查阅MSDN中的该类的成员函数。
四、添加接口属性
   在ClassView中,右击ImyComponent,在出现的菜单中按Add Property。如图,在Property中可选择属性类型如float,在下面可写上属性名如MyFloat。保持其他不变。这里需要说明的是在生成的put_MyFloat和get_MyFloat函数体中的书写。

不妨举个小例:
1.在CMyComponent 中添加成员变量m_myFloat
2.在put_MyFloat 中写上:m_myFloat=newVal;
3.在get_MyFloat中写上:*pVal=m_myFloat
  有成员变量也是它优于ISAPI的一个地方,在ISAPI中要在网页间传递信息,只能通过URL参数或者是Cookie来实现,因为每次调用都是一次新的链接,无法在网页之间仍然是同一次调用DLL,所以设置成员变量意义不大,只在一次调用中有用。而那两种方法都只能传递很有限的字符,除非利用创建服务器端临时文件(此方法很不好)。再说,ASP中的Session对象本身就是很好的存储信息的对象。
   至此,我们创建了一个非常简单的没有什么功能的ASP组件,意在说明如何制作。下面,我们书写一个简单的ASP网页,来看看如何使用。网页如下:
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Set Obj=Server.CreateObject("MyStudio.MyComponent")
j=Obj.InitMyComp(5)
Response.Write(j)
%>
<p>
<%
Obj.MyFloat=3.9
j=Obj.MyFloat
Response.Write(j)
%>
<p>
<%
str1="abcd"
str2=Obj.StrConv(str1)
Response.Write(str2)
%>
</BODY>
</HTML>
显示结果为:
5
3.9
abc
   也许,你现在还看不到编写ASP组件的巨大魅力。但是,如果你正在编写搜索引擎,文件上传,自动回复,等等的高级网页制作,你若能够充分的利用VC++的优越编程手段,就不必在CGI,ISAPI中苦苦挣扎,可以比较方便的编写这些功能。比方说用户想在你的网页上搜索几个著名新闻网站上当前的重要新闻,你就可以使用ASP组件在后台实时的打开各网站获得信息,筛选匹配后显示给用户。又比方说,当注册用户告知他的email地址,你就可以利用ASP组件自动给新注册用户发出确认信函,用最快的方式让用户去确认并使注册成功……其实,你一定还有很多新的想法可以在网页上得以实现,赶快行动吧。 

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号