对COM感兴趣的近来聊聊 COM是否有前途,到底有什么用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这之后还讨论这种问题,这个时候如果还没学过 com 就有点落伍了 现在还讨论这种问题,这个时候如果还没学过 com 就有点落伍了 gboy(hello):hi,don't so crutely to fresh man! COM很有用,但失之复杂。.NET出来后,可以不学COM了,有更好的实现组件的方法! ".NET出来后,可以不学COM了"我不同意这样的观点,应用的范围不同,再说 .Net 中大量的用到了 Com 的技术VC7 中访问 .Net 中的东西还是要通过 Com 的方法(当然如果不用 VC 的话就不用学了,C# 已经屏蔽了底层的东西)再说 DirectX,浏览器,Shell扩展 .... 方面的编程还是要通过 Com 才能实现 “工具是用的,不存在落伍不落伍”或许有些道理,不过 Com 不是一种工具,而是一个体系。微软提供的很多东西已经不能再用传统的方法使用了。 呵呵,我觉得COM除了做组件以外,其他的根本对我们来说没什么直接的用处,呵呵,也许做组件我也不用COM,直接用DLL就完了。 com技术贯穿了整个windows 操作系统的应用,你能说没用吗?com 和 dll 根本是两种概念,你可以用dll 的形式来发布一个组件,也可以用ocx,但是许多的组件都要用到com技术,你可以不必去直接使用它,也可以不用去了解它的底层知识,但假如你想成为组件编程方面的专家,com 技术是你必须具备的知识,知其然也知其所以然,你才能更好的去利用它去做出更好的东西来。com 技术是一直在发展的,一直在演变中的。微软不断地为它扩展新的内容,增加它的内涵,增强它的功能和应用。在它的发展过程中出现了许多的专业名词,OLE、com、 com+、DCOM,ActiveX都和它血缘关系,都是同一个祖先生出来的。 去看看设计模式, design patterns , 里边很多模式在com你都可以找到实作,就算你狠ms,corba在模式上也差不多,如果你爱ms,更别提了。com是个老家伙了,但丛ole2到今,基本模式没变,足见其生命力,2000又通过com+使老树发了新芽,只要该死的微软不死,com就死不了。 我想请教大家一个问题!在com中,用复合文档进行结构化存储时,我的理解是只要实现相应的IStorage和IStream接口,然后调用相应接口定义的读写方法就可以,但我看到的书上讲还应实现一永久对象(实现IPersist接口),用它来进行存储,我不清楚两者之间有什么关系,不知有哪位大侠可以告之,小第不胜感激! 如果你认为做电子商务没有前途,那COM肯定没有前途. 电子商务的未来是Web Service的天下啊!com做本地应用还是非常不错的! to flylijian(阿凡提)IStorage IStream 就像 mfc 中的 CFileIPersist接口 就像 mfc 中的 Serialize()呵呵,不会比,瞎比 个人认为COM技术是微软唯一一个很成功的技术。在实现二进制一级软件复用上很成功,看看DirectX就知道了!目前我学习COM不是因为该技术将来会不会流行,而是COM的整个设计思想很值得学习! COM很有用,但失之复杂。.NET出来后,可以不学COM了,有更好的实现组件的方法C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易...C#写组件变得很容易... 我同意zengsiyu(绝代编手)的说法。我们不要只是局限在com的实施细节上面。我个人感觉com给我们提供了一个很好的oo和设计模式的实例。我线当初设计com的那些人一定是一些C/C++的狂热分子,或者是多年的c sytle的开发人员,他们认识到软件复用的复用性是多么的大,他们也是吸取了corba的很多好思想。没有什么实际开发经验对oo了解不深的话,学习com回比较吃力。现在从学校毕业工作半年了,觉得com的设计思想还是很不错的,com的很多东西只要你认真学过c++,就会恍然大悟,不过如此。C++的特性还可以这样用。 COM代表了未来的一种发展方向 COM是一种编程思想:即把实现和申明分开来的。 COM并不是面向对象的,我想大家应该都明白。COM提供了一种二进制层面上的共享机制是他为人类所作的最大的贡献之一!COM逐渐提供了用户调用的空间甚至时间(msmq)的透明性,应该说他改变了传统的服务体系,这是他对行业管理理念影响最大的方面!COM浓缩了现实业务管理中的很多东西,并不仅仅包括业务规则的整合,而且使业务处理流程更加人文化和人性化,这一点,就并非是程序员眼中的世界,而是管理层面,由此,我认为,不仅开发员要了解COM,管理人员也应该好好读读COM,研究其中的思想! COM将C++的优势技术发挥得淋漓尽致.我们学习不是为了实现COM,而是为了学习它的思想,即分布性,重用性,易修改性因此它的思想不仅在windows上可以实现也可以在其它的系统上得以实现. to gboy(hello)谢谢你的回答!我好象有一点明白了!:)我还想知道的是,一般在什么场合用IPersist接口进行存? to flylijian(阿凡提) 比如在 web 页面上的 activex 控件,你就必须为它实现一个IPersist接口使控件可以读取 web 页面内用 param 指定的参数信息 to gboy(hello)哦,我现在正在学com编程,把我都给搞糊涂了!:(对了,你学这有多长时间了,有好的方法吗?另外就是,IPersist是不是一定要和IStorage,IStream一齐搭配使用?你上面所说的用IStream实现不行吗? to gboy(hello)我还要另外一个问题,很简单的问题,怎样用api写一个子菜单,我下面的代码错在中哪里?谢谢?hwnd=GetActiveWindow( );hmenu=CreateMenu( );hpopMenu=CreatePopupMenu();AppendMenu(hmenu,MF_STRING,ID1,"File");AppendMenu(hpopMenu,MF_STRING,ID2,"Open");AppendMenu(hpopMenu,MF_STRING,ID3,"Edit");AppendMenu(hmenu,MF_POPUP,hpopMenu,null);setMenu(hwnd,hmenu);到底错在哪里? 即使学习.NET计划,也需要了解COM. to a_hui123(hui)还是不行,你知道在vb里,怎样用setmenu建子菜单吗? 以前好像有过一贴关于COM的论述,比较经典! 做windows上的一般应用,用别的软件思想也许可以做到,而且可能更简单;但做到一定层次,一定规模,考虑的东西多了,用COM或许简单多了。 COM 不论是研究价值和实用价值都很大。COM是组件技术的代表之一,是目前WINDOWS系统下写程序唯一还吸引我的地方,现在,它应该算不上新技术了,而是一种基本的成熟的和广泛应用的技术。组件技术可以说是继面向对象技术以来的另一次革命。实用上:写数据库程序,使用OLEDB或ADO要用到COM,写游戏程序,DirectX要用到COM,WEB服务器的ASP架于COM上,分布式系统也是离不开COM理论上:学COM的原理,你可以帮助你去理解CORBA, WEBSERICE并不只是MS用了组件。。 如果你对bcb上的com开发不介意的话请跟我聊一伙!不知道那位能告诉我,关于c++builder上comm的编程吗?现在我再bcb中实现com组件的数据库连接中出现了问题: 在2000下用bcb,当看到我的组件被加入到com+应用程序中出现的激活后就动的图标,我非常的高兴,但是,我只要向程序中加上ADOConn等控件的时候,将数据控件对象引用过来后,客户端调用服务端程序时,就在服务端组件方法中引用数据库组建处开始报错,我是在头疼,您能给我一点信心吗? 不知道那位能告诉我,关于c++builder上com的编程吗?现在我再bcb中实现com组件的数据库连接中出现了问题: 在2000下用bcb,当看到我的组件被加入到com+应用程序中出现的激活后就动的图标,我非常的高兴,但是,我只要向程序中加上ADOConn等控件的时候,将数据控件对象引用过来后,客户端调用服务端程序时,就在服务端组件方法中引用数据库组建处开始报错,我是在头疼,您能给我一点信心吗? 跪求,一个简单的手机模拟器解决方案及源码!!! 如何在ATL控件中调用ActiveX控件 截获ActiveX控件消息 关于相应tab order消息的问题 散乱点三角剖分 在窗口类构造函数显示菜单后,file->exit菜单项咋是灰色的? 怎样将资源中的一个Popup菜单加到主窗口菜单上? vc++ VC2005的MFC8.0程序可以采用非托管的ADO吗? 如何调用ODBC注册的对话框? 过年又散分 过年散分
我不同意这样的观点,应用的范围不同,再说 .Net 中大量的用到了 Com 的技术
VC7 中访问 .Net 中的东西还是要通过 Com 的方法
(当然如果不用 VC 的话就不用学了,C# 已经屏蔽了底层的东西)再说 DirectX,浏览器,Shell扩展 .... 方面的编程还是要通过 Com 才能实现
或许有些道理,不过 Com 不是一种工具,而是一个体系。
微软提供的很多东西已经不能再用传统的方法使用了。
com 技术是一直在发展的,一直在演变中的。微软不断地为它扩展新的内容,增加它的内涵,增强它的功能和应用。在它的发展过程中出现了许多的专业名词,OLE、com、 com+、DCOM,ActiveX都和它血缘关系,都是同一个祖先生出来的。
com是个老家伙了,但丛ole2到今,基本模式没变,足见其生命力,2000又通过com+使老树发了新芽,只要该死的微软不死,com就死不了。
com做本地应用还是非常不错的!
IPersist接口 就像 mfc 中的 Serialize()
呵呵,不会比,瞎比
看看DirectX就知道了!目前我学习COM不是因为该技术将来会不会流行,而是COM的整个
设计思想很值得学习!
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
C#写组件变得很容易...
我们不要只是局限在com的实施细节上面。我个人感觉com给我们提供了一个很好的oo和设计模式的实例。我线当初设计com的那些人一定是一些C/C++的狂热分子,或者是多年的c sytle的开发人员,他们认识到软件复用的复用性是多么的大,他们也是吸取了corba的很多好思想。没有什么实际开发经验对oo了解不深的话,学习com回比较吃力。现在从学校毕业工作半年了,觉得com的设计思想还是很不错的,com的很多东西只要你认真学过c++,就会恍然大悟,不过如此。C++的特性还可以这样用。
COM提供了一种二进制层面上的共享机制是他为人类所作的最大的贡献之一!
COM逐渐提供了用户调用的空间甚至时间(msmq)的透明性,应该说他改变了传统的服务体系,这是他对行业管理理念影响最大的方面!
COM浓缩了现实业务管理中的很多东西,并不仅仅包括业务规则的整合,而且使业务处理流程更加人文化和人性化,这一点,就并非是程序员眼中的世界,而是管理层面,由此,我认为,不仅开发员要了解COM,管理人员也应该好好读读COM,研究其中的思想!
谢谢你的回答!我好象有一点明白了!:)
我还想知道的是,一般在什么场合用IPersist接口进行存?
比如在 web 页面上的 activex 控件,你就必须为它实现一个IPersist接口
使控件可以读取 web 页面内用 param 指定的参数信息
哦,我现在正在学com编程,把我都给搞糊涂了!:(
对了,你学这有多长时间了,有好的方法吗?
另外就是,IPersist是不是一定要和IStorage,IStream一齐搭配使用?
你上面所说的用IStream实现不行吗?
我还要另外一个问题,很简单的问题,怎样用api写一个子菜单,我下面的代码错在中哪里?谢谢?
hwnd=GetActiveWindow( );
hmenu=CreateMenu( );
hpopMenu=CreatePopupMenu();
AppendMenu(hmenu,MF_STRING,ID1,"File");
AppendMenu(hpopMenu,MF_STRING,ID2,"Open");
AppendMenu(hpopMenu,MF_STRING,ID3,"Edit");
AppendMenu(hmenu,MF_POPUP,hpopMenu,null);
setMenu(hwnd,hmenu);到底错在哪里?
还是不行,你知道在vb里,怎样用setmenu建子菜单吗?
但做到一定层次,一定规模,考虑的东西多了,用COM或许简单多了。
现在,它应该算不上新技术了,而是一种基本的成熟的和广泛应用的技术。
组件技术可以说是继面向对象技术以来的另一次革命。实用上:
写数据库程序,使用OLEDB或ADO要用到COM,
写游戏程序,DirectX要用到COM,
WEB服务器的ASP架于COM上,
分布式系统也是离不开COM理论上:
学COM的原理,你可以帮助你去理解CORBA, WEBSERICE
并不只是MS用了组件。。
现在我再bcb中实现com组件的数据库连接中出现了问题:
在2000下用bcb,当看到我的组件被加入到com+应用程序中出现的激活后就动的图标,我非常的高兴,但是,我只要向程序中加上ADOConn等控件的时候,将数据控件对象引用过来后,客户端调用服务端程序时,就在服务端组件方法中引用数据库组建处开始报错,我是在头疼,您能给我一点信心吗?
现在我再bcb中实现com组件的数据库连接中出现了问题:
在2000下用bcb,当看到我的组件被加入到com+应用程序中出现的激活后就动的图标,我非常的高兴,但是,我只要向程序中加上ADOConn等控件的时候,将数据控件对象引用过来后,客户端调用服务端程序时,就在服务端组件方法中引用数据库组建处开始报错,我是在头疼,您能给我一点信心吗?