請教com物件與com+物件定義問題? [ZZ from Delphi KTop]

 http://delphi.ktop.com.tw/board.php?cid=30&fid=68&tid=43706

1 com物件定義?可否同時存在客戶端與應用程式伺服端?
2 com+物件定義?
3 Tclientdataset與Tdatasetprovider是com物件?
4 還有那些物件算com或com+物件?

1.COM (Component Object Model)簡單來說只是一組MS用來作為不同程式間溝通的規範,想想看,一個用Delphi寫的Class只能給不同的Delpi程式間使用,並不能在不同程式語言間使用(如C++、VB),反之如果你寫的程式符合COM規格,就能給不同的程式語言呼叫如C++、VB

2.COM+ 是更先進的COM的規範,觀看MS技術的演進歷史COM規範只能給本機間的程式呼叫,因而推出DCOM(Distrubted COM)規格,讓本機可以呼叫其他機器的COM,後來為了符合企業應用,在NT4.0時代推出MTS(架在Server上作COM之間的交易控制的服務),後來合併COM/MTS,推出COM+,基本上你寫的程式只要符合COM+規範,就能夠享用到種種的元件服務如交易、安全、負載平衡等等

3 Tclientdataset與Tdatasetprovider是Delphi的VCL Component不是COM物件,
基本上你要叫用COM物件是用Interface 或Olevariant 變數使用,不可能用Class變數使用(建立COM物件用iXXX := CreateComObject(...)而不是建立一般Class的方式如aObj := TClientDataSet.Create(nil)),當然Delphi也會寫一些VCL Component將某些COM物間包裝起來讓你使用起來像Delphi一般的Class一樣,比較直接的就如同Servers頁次(主要包裝Ms Office用的COM物件),而TClientDataSet/TDataSetPorvider 嚴格說來並沒有包裝任何COM元件,但他主要幫你使用/實做IAppServer Interface(基本上你用Delphi開發的RemoteDataModule
(DCOM)/TransactionDataModule(COM+)程式都會支援此介面)

4.基本上從TComObject / TRemoteDataModule /TMTSDataModule這三個Class都幫你實作掉許多COM/DCOM/COM+規範的程式碼

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值