問題: COM接口可以使用自定義數據類型不允許使用數據成員,可自定義類型沒有成員函數不允許使用數據成員,使用很不便,有什么辦法可以讓他擁有成員函數?
描述:
如果自定義類型有成員函數
COM接口又可以使用自定義數據類型,這樣VB,VC就可以都使用這種
參數為自定義類型的接口,且相當于VB,VC公用了一份“類庫"!
不知那位大俠知道能否實現?
解決方案1:
小弟也在學習中
有一個方法,大家看行不行
使用,元素類型為,這樣,中每個元素就相當于一個結構的成員。
一種代表一個結構。
這樣再實現結構的數組時也比較容易,因為必然放在一個中,這樣和普通數組實現方法就一樣了
這種方法應該比使用接口的方法運行效率高很多
實現上復雜度也稍小一些
解決方案2:
TN065:Dual-
_PART(,)
()();
()(*);
(put_x)();
(get_x)(*);
(put_y)();
(get_y)(*);
()(*);
()(*FAR*);
()(THIS);
()(,,);
()(THIS);
ART()
解決方案3:
就如Ah(藍過天)所說,使用接口將各自定義類型用一個組件包裝起來,本來組件就是為了包裝對數據成員的操作而定義的。不一定非得使用接口,使用此接口只是可以統(tǒng)一接口(即每種類型都使用同樣幾個成員函數操作自己),如果不需要統(tǒng)一接口或不能統(tǒng)一接口,那么可以為每種類型都相應的生成一個接口,各個組件分別實現那些接口,而傳遞時直接傳遞接口指針。
如果樓主對各自定義類型的操作較少,而又需要其表現為結構效果(即成員變量都是公共的),那么建議樓主使用,而不是使用自定義接口。
解決方案4:
自動化,傳遞一個接口
解決方案5:
不可能有成員函數的!你好好想想,com的接口出現是為了干什么的呢?你這樣的說法是違背com的!如果那位實現了,告訴我一聲!哈哈!