求ActiveX开发例子----菜鸟求助

零度的折翅 2013-04-16 02:47:59

我需要一个简单的例子,网页代码调用我的ActiveX,传给我一个参数,然后我的ActiveX函数处理完返回给网页几个参数,网页不需要展现我的ActiveX控件,只需要调用我的函数完成数据的读取。

我在网上找了好久,由于我是初学者,资料一般都很复杂,我都看了好几天的资料了,好像是要一个MFCServer的ActiveX的工程就能完成,可是我建工程就建立不出来server的工程。

各位高手,帮帮忙!谢谢!
...全文
168 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
零度的折翅 2013-05-13
  • 打赏
  • 举报
回复
谢谢 吉拔猫 的答复。原来改一下后缀就行了。呵呵。。。
wumn29 2013-05-09
  • 打赏
  • 举报
回复
引用 4 楼 huoqingna2332 的回复:
非常感谢 wumn29 的讲解,谢谢!由于对于基于ATL和MFC之间区别不是很清楚,所以一直徘徊在MFC的ActiveX的区域中。
弱弱的问一下,我的vs2008好像不能建立ATL的ActiveX控件。
下面是我的工程建立过程:









在最后这个选择中,无论我选不选COM那个复选框,得到的工程编译时都没有.ocx文件生成,好奇怪了。知道原因吗?


你这样建立工程是对的,建立之后有两个工程, 那个XXXServer的不用管, 只管XXX就行了,编译之后默认是生成一个dll, 可以在属性--链接器--输出文件 改扩展名为ocx

选择工程的右键菜单---添加--类 ,然后弹出窗口, 如下图

选择ATL简单对象即可
零度的折翅 2013-04-17
  • 打赏
  • 举报
回复
引用 1 楼 fengqinqdca 的回复:
你怎么不看看孙鑫视频呢 activeX控件那一章节.看1~2遍 自己就能写个
我这不是不知道嘛,没有找到正确的渠道,谢谢!
零度的折翅 2013-04-17
  • 打赏
  • 举报
回复
非常感谢 wumn29 的讲解,谢谢!由于对于基于ATL和MFC之间区别不是很清楚,所以一直徘徊在MFC的ActiveX的区域中。
弱弱的问一下,我的vs2008好像不能建立ATL的ActiveX控件。
下面是我的工程建立过程:









在最后这个选择中,无论我选不选COM那个复选框,得到的工程编译时都没有.ocx文件生成,好奇怪了。知道原因吗?

wumn29 2013-04-16
  • 打赏
  • 举报
回复
补充一下。 1、按照杨老师的方法创建一个ATL工程, 编译Realease版本 2、开始--运行--cmd打开命令行,敲入regsvr32+空格+Realease目录下的控件名(XXX。DLL) 3、网页代码里面使用这个控件: <HTML> <HEAD> <TITLE>TMS</TITLE> <object id=MyActiveX classid="CLSID:9E282FFE-F5D0-44F4-BB74-B99323342EB7"></object> <script language="javascript"> function Add(X, Y) { MyActiveX.Add(X, Y); } </script> </HEAD> <BODY> <input type="button" value="add" id="btnAdd" onclick="Add();"></input> </BODY> </HTML>
wumn29 2013-04-16
  • 打赏
  • 举报
回复
http://www.vckbase.com/index.php/wv/1216.html 不管是MFCServer还是其它的什么COM组件,都可以用ATL简单对象来创建, 所以不用担心这样写出来的东西网页调用不了 编译之后可以使用regsvr32注册/卸载这个控件 注册:regsvr32 "Release/XXX.ocx" 卸载:regsvr32 /u "Release/XXX.ocx" 如果你编译的后缀名是dll就改成dll, 默认都是dll的后缀名, 这个没有影响 网页里面调用示例: <HTML> <HEAD> <TITLE>TMS</TITLE> <object id=MyActiveX classid="CLSID:9E282FFE-F5D0-44F4-BB74-B99323342EB7"></object> 红色的字就是你工程里面这个控件的UID,在idl文件的末尾处在[]之间的就是这个uid, 或者你搜索class DECLSPEC_UUID 后面跟的串就是这个控件的uid 用这个股uid在html页面里面就创建了控件的对象, 使用MyActiveX可以调用控件里面提供的方法。 如: function Add(x, y) { MyActiveX.Add(x, y); }
华美乐章 2013-04-16
  • 打赏
  • 举报
回复
你怎么不看看孙鑫视频呢 activeX控件那一章节.看1~2遍 自己就能写个

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧