新手上路 调用COM时报"无效的类别字符串"错误(200分) ( 积分: 200 )

  • 主题发起人 主题发起人 fanybul
  • 开始时间 开始时间
F

fanybul

Unregistered / Unconfirmed
GUEST, unregistred user!
如果需要,我可以粘贴出代码
我是新手学习COM,照着别人的例子来写COM程序,但是却一样有错.
各位帮帮手啊
 
报'无效的类别字符串'的问题已经解决是因为我没有注册的原因.
但是在调用COM里的函数时又报另外一种错误:
Method '****' not supported by automation object '****'是我里面的函数
什么原因?
 
哎,太不小心了我,原来将函数名写错.
大家都入来讲下关于COM的理解啦.
我这里给了200分,讲下都有分的,开开金口啦,我是一个新手,大家教下我了.
 
一般的COM都是无状态的,我们调用的是它的服务。所以COM中只有方法和属性。而且这个属性也和我们在类中定义的属性不同,它不能读取数据成员,它只能读写方法。
 
MIDAS的三层就是建立在COM之上的。感觉本来COM的层次很清楚,建立COM组件也很简单,但不知为什么这么好的东西让Borland包装成MIDAS后,反而是搞的很复杂而且也不好用了。
 
大家顶啊
 
大家都不爱在DLPHI里搞COM吗?还是什么原因,怎么没有说几句的?
 
是没人会COM不是会COM的人都放假了?
 
com本身思想是很好的,但是后来被M$加入了太多和GUI相关的一些东西,导致变得很乱了,后来发展到com+,好多三层的程序都是基于com+的,但是现在微软已经放弃com+了!
 
我个人猜想Borland把多层搞成Midas方式有两个原因:
1. COM或COM+确实太复杂了,而且它主要是实现继承。和目前主流的面向对象思想不太相同。
2.Borland想简化多层的开发。当然,如果你对COM有深刻的理解,你可以用MIDAS做出非常好的系统。Borland大概是想把复杂的COM的多层开发简化成一般程序员易于理解的,符合一般程序员思维习惯的方式。所以提供了MIDAS。不过,由于MIDAS的底层是COM,所以经过Borland的这种复杂封装后,MIDAS变的更加难以理解,即使是对COM有所理解的人看MIDAS的底层源码,不小心都会被搞晕。
 
com+ 可以采用对象池,连接池等技术
 
Com+实现对象池非常容易,MS已经帮你实现了。
Com+实现数据库共享连接池,尤其是ADO + SQL SERVER就非常难。但确实可以实现,它需要你有扎实的COM基础知识,没有半点捷径可走。。。
 
com连接是和socket相连接对应的
 
今晚做好了ADO + SQL server 2000 + COM+连接池。
测试:
在本机上打开了60个客户端,随机选择60个客户端中的任意一个,测试都可以完成相应客户端的全部功能。测试通过!
而我明白的知道,因为我自己在本机上无论如何也无法做到任一时刻“同时”用到2个客户端数据库连接,因为每次同数据库连接并返回数据只用0.0x秒时间,并且因为用了数据库连接池,事实上,这60个客户端只共享了1个连接好的数据库连接,也就是说:比如我设置了连接池的最大连接数为15个,我现在打开的这60个客户端只用到了数据库连接池的十五分之一!
数据库连接池真是很强大!!
 
以前看过Com 不才 没看懂
后来也没这方面需求 就作罢了
 
COM就是RS232[:D]
 
楼上的真搞笑。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
962
import
I
后退
顶部