討論區快速選單
知識庫快速選單
討論區最近新進100則主題 掌握Salesforce雲端管理秘訣
[ 回上頁 ] [ 討論區發言規則 ]
有一本書.. 講的讓我很容易了解COM
更改我的閱讀文章字型大小
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/14 上午 11:35:47
MFC COM 程式設計教學手冊
Beginning MFC COM Programming
基峰 CLO95
2000 年 4 月 出版

中文的哦..
作者 : (CCL)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/15 上午 12:58:37
那裡面是否有提到event sink mapㄋㄟ??
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/15 上午 09:28:09
CCL:

>那裡面是否有提到event sink mapㄋㄟ??
能不能麻煩你幫我翻成中文..@@ 我看不懂..

這本應該是沒有提到.. <-- 因為我不懂你問的問題.. 我嘛是超新手
裡面比較偏向實作的部份..

我在看完前面的名詞解釋後..
在回去看COM本質論.. 就好多了說..

另外
1. ATL COM 程式設計教學手冊 @@ WROX 出的..
也是眳p出版.. 忘了書號
1999 年 8 月... 嘛是中文的..

中文書.. 也不太好找.. 而且又不能找的太差的..

那CCL 大大.. 你有沒有什麼書介召一下.. 讓小弟參考參考.
不然.. 大家自己在那邊慢慢來..
都慢國外好多好多說..

&& 麻煩大大.. 若你覺得我前面的那些東西.. 有什麼地方寫的不太對的 希望不吝指導.. 不然我想錯了.. 可就糟了.. 謝謝
作者 : (CCL)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/15 下午 08:10:43
偶ㄉcom理論都是由directx學來ㄉ
包括callback等也是
知城出ㄉ各種書其實也不錯
蠻適合初學者ㄉ
今天上officeXP developer 的課程
學會ㄌ一點VB ActiveX DLL(有點像設計com)
建議大家注意一下officeXPㄉ動向
因為範圍太大ㄌ
無法一一告訴大家
www.microsoft.com/office
www.microsoft.com/office/developer/default.htm
msdn.microsoft.com/office
www.microsoft.com/Taiwan/OfficeDev
www.augur-soft.com奧微資訊
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/16 上午 09:48:43
這個..@@ 自己是比較偏小系統方面的程式撰寫
像WIN CE 或是 WINDOWS 應用程式之類的開發..
對OFFICE的認識.. 只有 VBA 而以..
XP 有什麼新的東西.. (<-- 在這指程式開發而言.)
我還沒有什麼概念..

能不能麻煩大概提一下呢..

AND 在VB 上寫COM也是有許多的限制..
自己是不太建義在上面開發COM.. (<-- 雖然.. 我也愛的半死.. @@)

ActiveX 是COM的一種應用.. (但是.. 差不多就快一樣了..@@)
啊跟OLE 不一樣的地方是
大多在.. 有包含網路部份的時後.. 會稱ActiveX
若只是單純的單機上應用.. 就會稱 OLE (單純的名詞不同..@@)

本人一直覺得.. COM是一種語言。。 IDL

只是 VC++ 跟 VB 把它給包起來了。。 開發的時後不用理會
所以大多數人都只是拿來用.. ( 我也是。。 @@)
直接寫很煩人... 沒什麼效率。。跟拿C來寫WINDOWS程式一樣..
雖然.. 最近也開始背道而行的拿C來寫WIN CE ...
(因為 SDK的範例都是直接寫.. @@ 真的很怪.
 幹嘛軟體自己都不用MFC寫)

啊.. 我還有一本.. ActiveX 的本.. 嘛是中文的..@@
講的超細的.. 跟COM 本質論有的ㄊㄨㄚˋ...
忘了書名..@@ 回家看看在放上來..

去買了COM+程式開發的書..
發現.. 要先會COM... 那還不是一樣要先學COM才行..@@

自己本身都在看中譯本.. 而且.. 還沒看完才糟..
每次想到.. 中譯本都出那麼久了..
那現在的技術.. 不知道飛到什麼地方去了.. 唉............
想說.. 那一天. 把中譯本看完了..
看到沒有中譯本的時後.. 差不多就能趕上了.
只是.. @@ 應該很難有那一天吧..
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/16 下午 04:02:43
CCL:
我後來想了一下
>> event sink map
你所說的這個..

是不是指的.. event maps

如果是的話.. 那本.. MFC 程式設計就有談到了
還有啊..
像.. interface maps
AND dispatch maps
都有提..

不然. 你也可以去查.. CCmdTarget
它不指提供 message maps 還提供很多的功能的...
作者 : (CCL)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/17 上午 10:36:24
因為我們公司沒用到這方面ㄉ技術
我就把課表列出好ㄌ
1.導覽篇
officeXP解決方案技術全貌
2.佈署篇
如何結合與佈署各種officeXP解決方案
3.實踐篇1
自訂數位儀表板
SQL for Wolkflow 和 Web Part,建立企業入口網站
實踐篇2
自訂智慧標籤和Exchange工作流程

對於com我還真沒看過正式ㄉ書藉
不過知道他ㄉ架構
由IUnKnown當基礎
所有介面都繼承它ㄉ虛擬函式
quaryinterface
然後根據參考計數決定是否release介面
實做時只需增加新ㄉ介面
不需更動舊ㄉ介面
對於程式碼可再用性粉方便
尤其是屬性共用ㄉ時候
就說到這ㄅ
深一點ㄉ還要看書ㄅ@@
對ㄌ...偶才25。。。不速什ㄇ大大或強者
作者 : (CCL)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/17 上午 10:43:24
謝謝
不過我指ㄉ是像這樣ㄉ東西
BEGIN_EVENTSINK_MAP(CMultiMediaDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CMultiMediaDlg)
ON_EVENT(CMultiMediaDlg, IDC_MEDIAPLAYER1,            3002 /*EndOfStream */, OnEndOfStreamMediaplayer1, VTS_I4)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/17 上午 10:57:30
是的

那個就是EVEN MAPs

那其他的像 interface maps

BEGIN_INTERFACE_MAP()
END_INTERFACE_MAP()

有很詳細的說明.. 跟message maps 都是由CCmdTarget
實做的

而這些東西.. 都是在CCmdTarget中定義的..^^
=================
在 afxwin.h 內
CCmdTarget 的部份宣告:

class CCmdTarget : public CObject
{
....
#ifndef _AFX_NO_OLE_SUPPORT
  DECLARE_DISPATCH_MAP()
  DECLARE_CONNECTION_MAP()
  DECLARE_INTERFACE_MAP()
....
}
================

還有很多。。
可以先看看afxwin.h
還有MSDN內CCmdTarget的說明
然後。。 前面放的MSDN 的那篇文章
也很有幫助的

我也是看書才有點了解的

小弟淺見.. 若有誤刊.. 希望不吝指導
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/17 上午 11:02:20
還是要叫一聲前輩..
小弟我才.. 23 .. 汗顏的很..
學了幾年了.. 還沒什麼長進..
看你在VC++中的回覆文章..
知道自己還有很多東西要跟前輩多學習..
有問題還要麻煩前輩勞心.. 幫我解答才是...
在此.. 先拜拖麻煩了..
作者 : (GOOD)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/18 下午 04:14:13

>MFC COM 程式設計教學手冊
>Beginning MFC COM Programming
>基峰 CLO95
>2000 年 4 月 出版

>中文的哦..

微軟的 Inside COM
侯老大的COM本質論
基峰的DCOM

以前,想要在basic裡面呼叫asm的程式碼,或是c的程式碼簡直難如登天,麻煩的想哭,因為參數的傳遞及函數命名的關係,所以會有COM的出現,當然COM的目標不只於此(詳細情況請參考[Inside COM]),所以COM並不是像你想的一樣是一種語言,你看的IDL只是一個描述如何傳遞參數的工具,並不是COM的全部。

用最簡單的角度來看COM,就是要去使用不同程式語言所開發出來的程式碼,簡單的說就是要去call別的程式語言所寫的function,如果你用這種角度來看COM,就會知道為什麼要用介面指標。
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/20 上午 09:50:34


>>MFC COM 程式設計教學手冊
>>Beginning MFC COM Programming
>>基峰 CLO95
>>2000 年 4 月 出版
>>
>>中文的哦..

>微軟的 Inside COM
>侯老大的COM本質論
>基峰的DCOM

>以前,想要在basic裡面呼叫asm的程式碼,或是c的程式碼簡直難如登天,麻煩的想哭,因為參數的傳遞及函數命名的關係,所以會有COM的出現,當然COM的目標不只於此(詳細情況請參考[Inside COM]),所以COM並不是像你想的一樣是一種語言,你看的IDL只是一個描述如何傳遞參數的工具,並不是COM的全部。

>用最簡單的角度來看COM,就是要去使用不同程式語言所開發出來的程式碼,簡單的說就是要去call別的程式語言所寫的function,如果你用這種角度來看COM,就會知道為什麼要用介面指標。


那三本書.. 我有.. 只是... 不是新手看的..@@
新手看不懂的.. 至少.. 我第一次看的時後.. 看不懂..
所謂的新手.. 是要有C++ 很多年的設計經驗
&& WINDOWS 程設多年的經驗

如果還只是用"C++介面指標"來描術COM ..
那也就是把COM定在C++ 中了
(而且.. 看來.. COM本質論..
前面的部份可能還沒看.. 或是忘了 @@ )
書上不是這麼說的嗎?
COM的出現.. 是為了處理C++所產生出來的問題..
或是說.. COM的出現.. 是為了彌補C++所不足的部份..
這在COM 本質論中前幾章就有很詳細的探討

書中說明了.. C++ 的問題在於
還是能從定義中看出是用C++所寫的...
若你不用IDL 把C++包起來.. 那借問.. VB 如何懂得C++的介面指標

IDL 就是COM的本意了.. 他不是一個參數傳遞的工具..
他是幫二進制碼定一個介面..
讓其他懂得如何使用COM元件的語言..
能夠依其介面去使用...
使用C++來解釋.. 只是因為.. 只有C++ 較能夠貼切的描述COM

可以試看看不用VC++ 直接寫COM看看..
那你就知道.. 你在維護的程式中.. 有一半是IDL了..
只是.. 使用VC++時.. 精靈會幫你維護而以..

也可以直接寫組合.. 然後在寫一份IDL 將程式包給其他人使用
(我還沒試過.. 不過.. 理論上是可以的.. 必盡.. IDL是將二進制碼
函式給標準化)

你前面所提的部份.. 也是一在的說明..
COM 是一種跟大家都不同的語言..
讓所有能夠技援COM的語言都能互相使用..
那.. 為何還提到COM 不是一種獨立的語言呢..

那我在提的另一點是..
COM是"元件導向"程式設計..
也稱為是第二代物件導向程式設計(如果你不反對這個說法的話)

不用學會IDL也可以寫COM 是很好的是..
(就像.. 不用學C++也能寫出WINDOWS .. 的發現讓我高興了好久.. )

其他所提的"不是COM全部"的部份.
那些就是COM所能拿來應用的地方了..

說來說去就是說.. 你若不寫IDL
那用任何的語言.. 都寫不出COM的
(直接用VC++寫.. 若你不去寫IDL的部份.. 也寫不出來的啊.. )
我們在舉個例子..
不用微軟的VJ++ 而直接用JAVA 直接寫COM
就會發現.. 其實..
跟用組合寫.. 差不多困難(可能困難很多很多)..
必盡.. JAVA 不技援COM ..

說明.. 在這不是爭論(或是說在這就是爭論).. 只是想提出我的意見..
&& 看看別人的看法..
SO 若大家覺得小弟的看法有誤.. 希望不吝指導..

謝謝GOOD 對我發表的回應.. && 希望(大家)再多提些看法.. 一起研究..
作者 : finn(finn)
[ 貼文 14 | 人氣 22 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/12/24 上午 09:30:19
不不不
你還是不了解
COM是一組抽象的二進位規格, 不是什麼具體的東西。
你老是把IDL當作COM是不對的, 舉例來說, 我們可以直接實作一個COM元件, 同時完全沒有動到IDL語法, 也不用到MIDL compiler。
因為只要產生的二進位格式符合COM規定的, 那就是一個COM元件, 跟IDL不一定有關係。

IDL是用來支援分散式運算的使用的, 像它可以幫我們產生proxy/stub、type library的功能
方便程式設計師, 這點你是知道的
但這樣就說IDL就是COM是不對的, 原因如下:
1. 我們可以完全不理會IDL的情況下,自行完成這些事,比如說你可以實作custom marshaling
   COM跟IDL沒有絕對的關係
2. 如上述,IDL是用來支援分散式運算的,但分散式運算不是COM的全部,甚至也不是COM的核心。
2-a. 您知道有DCOM(Distrubted COM)嗎?COM不是一開始就有支援分散式運算的,這表示分散式運算的東西不是COM的全部
2-b. COM的好處之一就是它讓client和component不用去管分散式運算方面的問題,這表示分散式的東西不是COM的核心
(COM的核心其實就在介面的規格,這你是知道的,但你誤以為這些介面一定要用IDL寫出來的才算)
3. IDL是OSF的東西,不是微軟的! 微軟發展COM時,遇到分散式運算方面的問題,才從OSF借來這些東西拿來使用。
如果IDL就是COM, 那就是說COM是OSF的東西,不是微軟發明的了。
 板主 : 徵求中
 > COM/DCOM - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - COM/DCOM - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
COM/DCOM
1 估得 490 
2 nick 120 
3 PLAYER 110 
4 天雲 100 
5 Raynor 80 
6 青衫 60 
7 60 
8 Peter.huang 50 
9 酷小毅 50 
10 Giant 50 
COM/DCOM
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875