网页初始化ATL开发的activex控件属性

C++ ATL组件编译通过之后集成式无法初始化,HRESULT句柄返回为空的情况, 需要Registrar文件手动编辑 苍天呐,写了一个com组件编译通过,MFC测试,编译通过,但是,但是,但是,系统初始化的时候却无法获取com组件句柄,很难受,度妈妈查了两天未果,找人问了一下是rgs的锅,由于编译器闹鬼,没有自动生成rgs文件一次组件并没有注册到系统的注册表里,因此这个时候MFC再去系统里获取com组件的时候肯定找不到啊。因此只能手动编辑rgs文件,然后通过了,通过了。。。。 不多说上代码 MFC调用com组... 阅读详情
 
 如何在web页面中初始化控件的属性呢?此文根据实际例子讲解atl开发的控件其属性的初始化方法,假设属性为StreamUrl。
 
1.class ATL_NO_VTABLE CXXX:
…
//added
public IPersistPropertyBagImpl<CXXX>
 
2.添加属性StreamUrl, 在 idl 文件中对应有
[propget, id(1), helpstring("property StreamUrl")] HRESULT StreamUrl([out, retval] BSTR *pVal);
[propput, id(1), helpstring("property StreamUrl")] HRESULT StreamUrl([in] BSTR newVal);
 
3. BEGIN_PROP_MAP(CXXX)
 PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
 PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
//<<added
 PROP_ENTRY("StreamUrl", 1, CLSID_NULL)
 //>>
 
END_PROP_MAP()
 
 注意在 PROP_ENTRY("StreamUrl", 1, CLSID_NULL) 中的 1为 idl文件中的 id(1),自己作相应的修改。
 
4.    BEGIN_COM_MAP(CXXX)
…
//<<added
COM_INTERFACE_ENTRY(IPersistPropertyBag)
//>>
END_COM_MAP()
 
 5.在类CXXX中添加变量如下:
BOOL m_bRequiresSave; // 这是 IPersistPropertyBagImpl 需要的
CComBSTR m_bstrUrl;
并初始化m_bRequiresSave为false。
 6.
 
STDMETHODIMP CXXX::get_StreamUrl(BSTR *pVal)
{
*pVal = m_bstrUrl.Copy(); //如果是*pVal = m_bstrUrl,会造成ie崩溃
 return S_OK;
}
 
STDMETHODIMP CXXX::put_StreamUrl(BSTR newVal)
{
//如果直接m_bstrUrl = newVal,会造成ie崩溃
 m_bstrUrl.Empty(); 
m_bstrUrl = newVal;
 return S_OK;
}
 
7.网页中
<PARAM name="StreamUrl" value="http://www.shengfengtech.com">
 
如何在C++ Builder 2010中编写“安全”的Activex控件 在默认的IE安全设置中,“对为标记为可安全执行脚本的ActiveX控件初始化并执行脚本”一项是禁用的,如果修改安全设置为“提示”,在浏览器端就会看下以下windows报警如何把ActiveX控件标记为可安全执行呢?查了下MSDN,发现只要实现IObjectSafetyImpl就行了。具体如下操作:1.新建ActiveX工程系统自动生成以下文件2.新增com事务对象(如果控件需要窗体界面的话,可以选择Active Form)生成Unit1.cpp和Unit1.h文件,存放的是myTest的申明以及具体实现3. 阅读详情

相关推荐

Agentic RAG:RAG从静态到具有理解、推理、决策的Agentic RAG

RAG技术演进:从静态检索到智能代理 RAG(检索增强生成)技术经历了五个关键发展阶段:基础RAG(关键词检索)、高级RAG(语义理解)、模块化RAG(灵活架构)、图RAG(知识图谱)和最新的Agentic RAG(智能代理)。Agentic RAG通过引入自主AI代理,具备反思、规划、工具使用和多代理协作能力,实现了动态决策和自适应工作流。相比传统RAG的静态检索流程,Agentic RAG能处理复杂多步推理任务,通过自我改进机制提高输出质量,并支持多专业代理协作,显著提升了RAG系统在复杂场景下的表现。

2538

使用ATL创建窗口的步骤

1、定义ATL的全局对象CAppModule _module; 2、初始化COM组件:CoInitialize和CoUninitialize; 3、初始化COM模块_module.Init() 代码如下:     HRESULT hRes = ::CoInitialize(NULL);     ATLASSERT(SUCCEEDED(hRes));     hRes =

物知馆 3239

头歌操作系统2023春季课堂练习2.1:外部中断

本关任务:通过相关知识以及实验回答:版本 1 内核的第 6 次时钟中断发生时,断点和恢复点(指令地址)分别是多少?回答问题:当第一行 0/1 字符全部输出完毕的时候一共发生了几次时钟中断,即第一行完全填满时 jiffies 记录的已发生次数为多少?本关任务:通过实际操作回答在输出第一行 0/1 字符的过程中(如下图所示),共发生了几次时钟中断?2.此时 bochs 虚拟机输出的 0/1 字符串是什么?(只填写数字,不填写空格!根据相关知识进行实际操作,一直输入 c 直到 0/1 将第一行完全填满。

weixin_64821608的博客 8129

ATL持续化之IPersistPropertyBag

浅谈ATL中关于对象持续性  com对于对象持续性并没有什么规定和支持。但是com提供了一些协议,利用这些协议就可以使用对象的持续性。  在ATL中,提供了一系列介质接口IMedia,用于对象持续性支持。例如IStream  IStrorage IPropertyBag。为什么为了一个持续性提供三个接口呢?这是因为存在这样的一个事实:com组件容器并不知道用户想要保存对象信息到何处:网络流?

AmoyCHC的专栏 1498

COMSOL报错调试总结(不定期更新)

COMSOL报错调试总结1. 可定位错误1.1 除零错误1.2 未定义变量值1.3 边界条件/材料属性等缺失2. 难定位错误2.1. 装配期间内存不足 官方给的案例总是非常完美,运行流畅,结果完美。但是自己做模型时候就总是报错,而且不像自己coding的程序那样可以明确定位哪里出了bug。这里把我碰到的一些报错问题以及调试方法记录下来~ 部分来源于以下参考来源: http://wap.sciencenet.cn/blog-1467490-1118453.html?mobile=1 1. 可定位错误 以下错误

jessica0307的博客 8万+

VBA常见错误 - “错误3706,未找到提供程序,该程序可能未正确安装”解决方法

1、问题描述 在利用VBA编程时,引用其它表格数据,出现以下问题: (1)运行“错误3706,未找到提供程序,该程序可能未正确安装”。 (2)引用数据失败 2、解决方法 下载“Access 2010 数据库引擎”,并安装即可。 https://www.microsoft.com/en-us/download/details.aspx?id=54920 AccessDatabaseEngine 2010 官方安装包,官网下载不了的可以来这里下载。(1)运行“错误3706,未找到提..

Nemuel的博客 3万+

页面中ActiveX控件初始化时崩溃的解决办法

1.      问题描述: 最近做一个项目,需要将一个基于MFC的ActiveX嵌入到网页中。在嵌入过程中出现了这样一种情况:在Debug模式下,先执行OnCreate(),再执行对外的接口函数fun()(此函数页面会调用,函数内部会用到窗口句柄);在Release模式下,却先调用fun(),后调用OnCreate()。在Release横式下页面会崩溃,一时难以找到解决办法。后来在网上找了一些资

zt的笔记本 2826

【四季发财中线】通达信炒股指标副图指标使用图文教程,短线紫色柱线操作,与中线短柱线共振抓牛股妖股主升浪

如上图标记位置,对应的是副图指标的紫色柱线开始的位置,这个紫色柱线信号开始出现,也是短线进场做多的信号,紫色柱线的持续出现和加长,可以持股待涨,或行情继续上涨的可以在分时行情中逢低进场短线顺势做多。如上图标记部分,指标的主要部分信号,三行柱线-ZR-ZC -ZM,当出现这三行信号时,中线或波段看多做多,信号持续则中线顺势做多和持股待涨。不论是跟踪信号的出现先后进场和持股,或是在中线多头的行情中,找到短线转多信号进场做安全的短线操作机会,都是非常好的指标信号和辅助操作功能。

weixin_69760830的博客 1602

ActiveX控件重构

【前言】使用Delphi和VB的好处就是拖拉控件。使用方便。    我就一直和奇怪,这个功能vc也有,但是为什么他不扩展呢 ?在编写MFC应用程序的时候,我们就可以拖拉几个简单的控件,例如:输入框,静态文本,树型图,等等。而他也提供给我们程序员来自己编写控件的功能。但是终究他还是牵拉着MFC这个东东,显得很累赘。所以被部分程序员所不屑。    现在有个方法,可以不用MFC的库,也可以使

jhui163的专栏 1266

防雷防浪涌电路设计

通信线路或者电源线路通常会铺设到户外,一旦线路铺到户外后,就需要考虑防雷的问题了,那么怎么设计保护电路,能够防止雷电等浪涌对电路的破坏呢?

manhuami2007的博客 1万+

Pytorch实现之SRGAN+CBAM的结构设计

在SRGAN的残差连接中加入了CBAM注意力机制,同时设计了四类损失来训练。

LJ1147517021的博客 571

把程序嵌入网页之ATL编写ActiveX[标准窗口+接受参数]

图文并茂的演示了如何使用ATL开发ActiveX控件,支持网页传参,具有独立窗口,可以像编写普通界面程序那样来编写网页控件。

SomeTimes 6774

C#的GDI+绘图详解

/消除锯齿 或 AntiAlias。// 1.在窗体或控件的Paint事件中,用PaintEventArgs e 创建绘图对象 ---- 控件或窗体重绘时。//为控件创建绘图对象。//--------------------以上方法三选一。//2.创建绘图对象 panel1中绘图。

weixin_50920631的博客 3457

ATL、ActiveX、OLE及组件之间的关系

ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重要组成部分。它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部分。另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其方法、属性、事件来与应用程序进行通

gooer的专栏 1251

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

[activeX]VC2005开发MFC ActiveX ocx控件全过程[转]

ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。因此,开发面向Web的ActiveX控件比开发桌面的控件还要简单些,所复杂

柠檬加冰 4044

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

MFC ActiveX 控件

ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,它支持广泛的 OLE 功能并可自定义以满足多种软件的需要。ActiveX 控件旨在用于普通的 ActiveX 控件容器和 Internet 上的万维网页。您既可以用此处介绍的 MFC 也可以用活动模板库 (ATL)来创建 ActiveX 控件。ActiveX 控件可以在自己的窗口中对自身进行描述,对事件(如单击鼠标)做出响应

Tunix126的专栏 2547

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ATL、ActiveX、OLE及组件之间的关系 .

ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重要组成部分。它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部分。另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其方法、属性、事件来与应用程序进行通信的

playStudy的专栏 782

Activex感知网页关闭事件

概述IE直到控件第一次可见的时候才创建ActiveX控件,调用WM_CREATE的处理代码。在离开或者关闭页面的时候也没有调用WM_DESTORY的处理代码。在控件大小是0*0的时候也有同样的问题。如果你在这之前(例如window.onload事件的处理代码中)访问控件的窗口或者子窗口,那么不会成功。原因大多数ActiveX控件框架,例如MFC和ATL,在本地激活ActiveX控件时创

闻道有先后,术业有专攻,如是而已。 4908

ActiveX控件中访问文档对象模型

知识库文章Q172763   INFO:   Accessing   the   Object   Model   from   Within   an   ActiveX   Control   描述了这个问题的解决方案。可以看到,可以同样使用IOleClientSite来和IE这个控件容器交互。可以使用IOleClientSite::GetContainer得到网页所在HTML文档对象的IOl

adamchao的专栏 936

GPU微架构代际判定:从性能仿真到全流程验证的实战指南

GPU微架构设计不是画框图那么简单,判断一次迭代是否算“新一代”,需要从数据通路、执行模型与瓶颈性质三个维度拆解结构性变化。在GPU芯片研发中,性能仿真和RTL验证贯穿始终:功能仿真先证明逻辑正确,周期级性能模型则要逐周期对账,衡量IPC、调度器效率与访存带宽利用率。面对IPC提升时,不能只看绝对值,还要拆解收益来源,并综合考虑能效比和面积开销。工程实践中,判定标准需覆盖计算密集与访存密集、高占用率与低占用率等多元负载组合,避免局部优化反噬全局。从构建校准基线模型到全负载回归,仿真验证既是架构决策的核心依据

weixin_33805743的博客 374

ATL建立ActiveX控件(三)

示例代码http://download.youkuaiyun.com/source/1458175控件在使用时会遇到很多的问题所以进行控件编程要有耐心,我把我遇到的问题简单说一下:     一、控件的安全描述问题但是我们在运行这个控件时是不是要弹出一个叫什么不安全交互的对话框呀,就是这个这个很烦人呢,通常当我们把这个网页放在网站上运行时第一个对话框就不会弹了,但是第二个这样去不掉的,这主要

markstudio的专栏 1970

ActiveX控件嵌入网页,关闭网页时报错的问题

http://community.youkuaiyun.com/Expert/topic/3160/3160265.xml?temp=.5274317出现你说的问题,一般来说是指针问题,很可能是资源没安全释方你可以跟一下,是否到了 FinalRelease, 如果没到这里,那需要你在 IOleObject_Close release 接口(接口交叉引用造成不能释放),最终达到资源安全是否的目的AT

无限天空 6294

VC系列---基于VC++中ATL创建ActiveX控件的探讨

引言   ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重要组成部分。它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部分。另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其方法、属性、事件来与应用...

weixin_30570101的博客 182
上一篇: VC个性化窗口界面设计
下一篇: WM_PAINT与WM_ERASEBKGND
World7th
博客等级 码龄23年 13粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值