最近一直在学习Delphi,但手头上的资料很少有关于COM技术的,所以对COM一点也不了解,在组件栏也只有一个控件,实在搞不清楚怎么来使用它,它主要应用于什么方面?请知道的朋友指点一下,如果有相关的例子也分享一下。谢谢了先!
解决方案 »
- CreateProcess函数创建的进程不能设置窗口位置及尺寸。郁闷~~~~
- >>怎么判断一个WebBrowser里的页面已经被完全打开<<<
- 这样的sql语句该怎么写?
- 急急急。。。。。数据库查询相关
- Quickrep如何导出数据到文本呢?
- 第一次用TADOQuery,迷惑中!!!
- 要写一个网络版软件,可能有几个客户机同时操作一种单据,有什么方法可以避免冲突?单号唯一性怎么处理?
- 数据库方面,我该看什么书 50 分 奉送!!!!!
- 数据库的操作
- http://delphi8888.myrice.com/
- 如果将两张A5的Word内容打印至A4上面?如果可行独立再给分。。
- delphi 挂access 显示不了小数点后面数值。
www.vclxx.org上有许多Vcl的代码可以研究,虽然版本低,但理论是一样的。最大的好处是直接,实在
2、拿一本《COM本质论》[ISBN: 7-5083-0611-2] 啃;
3、用 C++ 或者 Delphi(仅)调用 Windows API 调用一个 COM 对象;
4、用 C++ 或者 Delphi(仅)调用 Windows API 实现一个 COM 对象;
5、回头看看 Delphi VCL 对 COM 的封装。如果真能理解 COM 的本质,那恭喜你,在 Windows 平台上,你无敌了。
你会发现,MS 做的东西太强大了,而你通过 COM(和消息)几乎什么都能控制。
本质就是通过一个标准接口为其他程序提供服务,但是ms的接口设计太笨拙,性能低下,已经回天无力了。
“通过 COM(和消息)几乎什么都能控制”这句话就表明你没有理解COM的本质。:)
COM并不能超越系统APIs而存在,它只是对某些功能做的一个提供标准接口的封装。
尽管它的接口极力模仿面向对象方式,但可惜并不是真正的面向对象方式。
这句话说得有点过吧,谁说COM已经过时了?
COM(和消息),那 API 也不成问题。至于
“COM并不能超越系统APIs而存在,它只是对某些功能做的一个提供标准接口的封装。
尽管它的接口极力模仿面向对象方式,但可惜并不是真正的面向对象方式。”
这两句话不敢苟同。建议看看 Charlie Kindel 在《COM本质论》写的序言。还有
COM 强调的是 COP 而不是 OOP 。OOP 有优点,有缺点。在大型工程开发和产品升级
更替中 OOP 的问题更是明显。Charlie Kindel 序明确指出了 COP 和 OOP 的区别。
APIs和消息机制是Windows提供的最基本的服务层,
而COM是更高层次的抽象。
“通过 COM(和消息)几乎什么都能控制”根本就是胡说八道,
你用COM动态装载一个设备驱动看看?
还不是要使用APIs?
“COM 强调的是 COP 而不是 OOP 。OOP 有优点,有缺点。在大型工程开发和产品升级更替中 OOP 的问题更是明显”?
明显在哪里?
既然如此,为什么ms还是在.net framework中用纯面向对象的机制取代了基于函数的APIs/Messages/COM这些东西?
想要资料给我发邮件。
[email protected]
COM 接口和消息比 API 要花更多精力来学习。请平心静气地理解了别人的观点再来反驳,否则
交流上会有很大困难,DelphiGuy 你说是不是?COM 是 1993 年首发的,至今已 12 年了。
由 COM 支持的 MS 技术不断升级,依然被广泛使用。至于 .net framework 能不能取代 Win32 的位置,
我们就不要讨论了。DelphiGuy 是个 .net 迷还是个 Delphi 迷?
不过COM这种东西连ms都承认要“淡出”,
你再继续吹捧它就没什么意思了。
“依然被广泛使用”那只是因为推倒重来的代价太大。
我既不是.net迷也不是Delphi迷,
我只是喜欢Delphi,
认为它能够代表开发工具的发展方向和技术进步。
至于我个人,
还工作在wordpad、vi+cc的状态。:)
好多问题解决不了,或者说即使可以解决,Borland
目前也没有声称要解决它。典型的有:
纯 unicode 的 Win32 VCL 就是一个重要的需求。
还有就是 VCL 和非 VCL 的窗口进行互动时出现的问题。你可能会问,用 .net VCL 不就 OK 了么?
但是用 .net 的话,我还用 VCL 干什么?
VCL 套 .net Framework 不是增加出问题的几率嘛?另一方面 .net 的适用范围是有限的。我想,Abobe
是不会把它的 PhotoShop 移植到 .net 上的吧。
暴雪开发 WOW 会用 .net 而不用 Win32 么?上面两个方面说明了一个问题,个人感觉上,现在的
Delphi 有点低不成高不就了。(我不是想伤害大家对 Delphi 的感情,而是觉得
Borland 实在不争气,当年丢了数据库,现在丢了
快速开发工具。我工作用的 Delphi 还是正版的呢!)最后,我认为 pascal 是最优美的编程语言,这个跟
VCL 是两件事。