D语言,想说爱你不容易
D语言设计思想本身很先进,我不否认。但是...
我想在一个GUI中嵌入IE,用来显示HTML,CSS,进行DOM操作。这在脚本语言中,只要类似下面一行代码就能创建一个IE实例:
CreateObject("InternetExplorer.Application")
但在D里却这么难。
1 首先我看到juno这个项目好像可以创建COM,可惜很长时间不更新了,已经不能通过新版DMD编译。。。
http://www.dsource.org/projects/juno
2 qiezi大侠写过一篇文章 D语言调用ActiveX(在窗口中嵌入ActiveX)
http://www.cppblog.com/cpunion/archive/2005/11/11/1061.html
http://qiezi.iteye.com/blog/266811
但那是好久前,已经不能通过新版DMD编译。。郁闷中
3 oldrev大侠发表了修改版 juno.com.base,看到一线曙光
http://dlang.group.iteye.com/group/blog/72602
刚接触D,要用oldrev大侠的成果来创建IE实例,不知何从着手。。。
4 网上找com的文章,都是C++,C的实例,要是会C++多好,可是,如果我会C++,还用问这个问题吗
犹豫,是否先学C++,再学D,狂闷。。。
5 圈子里高人很多,可是。。。
6 上D官方新闻组,官方论坛去问。。。
好不容易,core32的作者jcc7给了个用oldrev修改版combase创建Microsoft Script Control,再用script脚本创建IE实例
如何嵌入GUI,如何得到IE句柄,如何控制页面元素。。。
用DMD1.013可以成功编译。离成功好像近了一步,路漫漫。。。
jcc7给的代码见本文附件
7 现在初浅的了解:
要实现把IE嵌入GUI,有两种思路:
早期绑定,这个在D里实现很麻烦
晚期绑定,就象脚本语言里用的那样
qiezie说用IDispatch接口的方法效率比较低
效率低点没有关系,谁能给个例子,用IDispatch接口实现创建IE实例?
真的很希望得到你的帮助,没有C++基础学D这么难,创建嵌入GUI的IE竟然这么难以实现。
D语言出现已经多年了,我知道不是D语言本身的问题,那么...
第一次用D写程序就被卡住了。。。
D,想说爱你不容易!
20070429tuja补充:
真的非常感谢qiezi,在百忙之中,抽出宝贵个人时间,修改了core32,使之能够通过dmd1.013的编译!!
我按照下面的方法,已经成功编译了你修改的core32
http://dsource.org/projects/core32
1 Unzip ZIP in \dmd\src\core32
2 Open command prompt (cmd.exe=DOX Box).
3 Type PATH \dmd\bin;%PATH%
4 CD to the core32\win32 directory.
5 Exeute makelib.bat
6 Copy make32.lib to \dmd\lib directory. This directory is alread in compilers search path.
7 CD to \dmd\bin
8 Open sc.ini
Add "%@P%\..\src\core32" to compiler include search path
然后用qiezi提供的编译参数:
dmd ie.d -I..\core32 activex.d ..\core32\win32\win32.lib
编译了ie.d,可以成功启动IE。
我的目的是,把IE嵌入GUI,进行DOM操作。
不知道 AXO ie = new AXO("InternetExplorer.Application");得到的ie,怎么得到它的句柄,然后在DFL创建的窗体中,就可以SetParent() 到 Form.handle从而实现嵌入GUI了。
非常感谢qiezi及各位的指教。
- vbscript_ie.zip (14.3 KB)
- 描述: jcc7提供的,用oldrev修改版combase创建Microsoft Script Control,再用Microsoft Script Control创建IE的实例
- 下载次数: 14
分享到:
相关推荐
ERP想说爱你不容易.docERP想说爱你不容易.doc
作业APP,想说爱你不容易.pdf
《小学想说爱你不容易主题班会PPT教案》正是基于这样的教育理念,设计了一次充满意义的班会活动,旨在帮助孩子们理解和表达对父母的感激之情。 活动以“想说爱你不容易”为主题,试图触动孩子们内心深处对父母的爱...
新媒体运营,想说爱你不容易:只愿不忘初心,方得始终 .doc
以“初中语文文摘生活都市想说爱你不容易”为题,我们看到了一位农村青年初次踏入都市生活的坎坷经历。他来自山区,从未感受过都市的繁华与喧嚣,对城市充满了憧憬。但是,这份憧憬很快就被现实的挑战所取代。正如他...
企业培训——想说爱你不容易 在当前的商业环境中,企业培训已成为企业持续发展和提升竞争力的重要战略工具。随着市场竞争的日益加剧,企业对人才的依赖程度越来越高,如何有效地进行员工培训,已成为摆在企业面前的...
转基因:想说爱你真不容易.ppt
在中学阶段,政治作为一门重要的社会科学课程,...教师的角色也至关重要,他们需要提供清晰的指导,帮助学生构建知识框架,并激发学生对政治学科的兴趣,让他们能够真正地“爱”上政治,而不仅仅是“想说爱你不容易”。
要想使绩效管理真正成为推动企业和员工共同成长的有力工具,企业必须在实施过程中不断进行调整和完善,确保其公正与公平。有效的绩效管理应当能够兼顾激发员工潜力与确保组织目标的实现,通过激发员工的主动性、创新...
作者感到痛苦,与父母的争执不断,甚至一度想要放弃。然而,为了考级,他不得不坚持下去。 在这个过程中,遇到了一位严厉的老师,尽管他的教学方式粗暴,但作者的技艺因此得到了显著提升。最终,作者在六年级时顺利...
- 有效的"生成"关注语文素养的培养,包括工具性和人文性的统一,重视语言的鲜活灵动和人文精神的渗透。 - "生成"需要价值引导,但价值标准不明确,需要进一步探讨如何确定有效的引导方向。 4. **“生成”与预设的...
在强调全面发展和提高整体素质的新时代,我们不能仅依赖少数精英,而应关注大多数学生的成长。 再者,“研究性学习”与“学科教学”的结合是个挑战。尽管“研究性学习”有助于提升学生的综合能力,但它无法完全取代...
首先,面对政治教材,学生常常感到困惑,不知道哪些内容是重点,哪些应该划线记忆。这反映了对知识理解的困惑,教材中的语句可能含义模糊,使得学生无法准确把握关键点。为了改善这种情况,学生可以尝试更深入地阅读...
68种语言说爱你.zip
先别着急骂我,我也没有说我真懂Openstack我其实很想弄懂Openstack,然而从哪里下手呢?作为程序员,第一个想法当然是代码,CodeTalks,什么都可以忽悠,代码是实实在在的,何况原来也深入读过Lucene,Hadoop的源代码...
标题和描述中提到的"DEDE2007 做站先别用了,想说爱你不容易啊",这是对DEDE2007版本的一种批评。DEDE,全称可能是"DEDECMS",是一款基于PHP和MySQL的网站内容管理系统。这篇文章主要列举了DEDE2007正式版的一些问题...
深圳爱民科技公司 AM200型号CDMA无线上网卡的驱动程序 <br>内含中国联通提供的一个拨号程序 CDMA 20001X ... 所以,指望用它来上网冲浪是“想说爱你不容易”。最多只能算作一个上网的补充方案,期待3G!
还没来得及说爱你.doc