ActiveX DLL中怎么加入控件?

King 2000-03-31 09:08:00
想开发一个ASP组件,实现发送邮件一类的功能,需要使用Winsock、Internet Transfer等控件,但不知道怎么操作,请指教。
...全文
257 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
King 2000-04-03
  • 打赏
  • 举报
回复
是不是标准的窗体就可以?
King 2000-04-03
  • 打赏
  • 举报
回复
我用VB开发。
还有一个附带的问题:
我从一些资料中找到Public Sub FunctionName(PassedScriptingContext As ScriptingContext)可以在ASP中传递参数到OCX函数,但没有说如何返回结果,请再点拨一下。
Un1 2000-04-03
  • 打赏
  • 举报
回复
是!
「已注销」 2000-04-03
  • 打赏
  • 举报
回复
你用什么开发?
Un1 2000-04-01
  • 打赏
  • 举报
回复
1.工程插入一个Form1, 在Form上放控件, 比如Winsock1.
2.在类中声明:"
Private f As Form1
Private WithEvents Winsock1 As Winsock

3.在类的初始化中加入:

Set f = New Form1
Load f

Set Winsock1 = f.Winsock1

4.在类中编写你的Winsock1处理代码

5.在类终结加入代码:
Set Winsock1 = Nothing

Unload f
Set f = Nothing






Un1 2000-04-01
  • 打赏
  • 举报
回复
1.工程插入一个Form1, 在Form上放控件, 比如Winsock1.
2.在类中声明:"
Dim f As Form1





不用工具箱的话,自己手工添加,需要注意一个问题,就是要用Aximp.exe来包装一下ocx控件的类,然后再程序引用生成的dll就可以了。 aximp [options]{file.dll | file.ocx} The following command generates MediaPlayer.dll and AxMediaPlayer.dll for the Media Player control msdxm.ocx. aximp c:\systemroot\system32\msdxm.ocx 将 ActiveX 控件的 COM 类型库的类型定义转换为 Windows 窗体控件。 Windows 窗体只能承载 Windows 窗体控件,即从 Control 派生的类。Aximp.exe 生成可承载于 Windows 窗体上的 ActiveX 控件的包装类。这使您得以使用可应用于其他 Windows 窗体控件的同一设计时支持和编程方法论。若要承载 ActiveX 控件,必须生成从 AxHost 派生的包装控件。此包装控件包含基础 ActiveX 控件的一个实例。它知道如何与 ActiveX 控件通信,但它显示为 Windows 窗体控件。这个生成的控件承载 ActiveX 控件并将其属性、方法和事件公开为生成控件的属性、方法和事件。 如果不包装一下直接用,会出现 灾难性 错误。上面已经说明了原因。 在项目引用生成的ax开头的dll,在窗体代码增加: 声明一个公有的控件对象: public AxISPICRECLib.AxISPICREC AxISPICREC; 在InitializeComponent()方法内初始化控件: AxISPICREC = new AxISPICRECLib.AxISPICREC();//必须new对象,否则窗体设计器出问题 ((System.ComponentModel.ISupportInitialize)(this.AxISPICREC)).BeginInit();//初始化开始 this.Controls.Add(this.AxISPICREC);//添加控件 ((System.ComponentModel.ISupportInitialize)(this.AxISPICREC)).EndInit(); this.AxISPICREC.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("AxISPICREC.OcxState")));//设计控件状态 如果遇到“正试图在 os 加载程序锁内执行托管代码”这个错误,请设置“调试”--“异常” "----"Managed Debugging Assistants"勾掉"LoaderLock" 就可以了。

3,245

社区成员

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

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